/* 35.44: 3 mức màn hình dùng chung – điện thoại ≤720px · máy tính bảng / laptop nhỏ 721–1100px · máy tính >1100px (+ chỉnh nhỏ ≤360px). JS: BP trong app.js */
/* ANSHIP portal. Màu dùng qua biến; đổi thương hiệu chỉ cần sửa khối :root. */
:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;color:var(--ink);background:var(--bg);
--ink:#27313d;--muted:#6f7885;--line:#e5e8ed;--field-line:#b3bcc7;--bg:#f6f7f9;--surface:#fff;
--accent:#d22936;--accent-dark:#b9202d;--accent-text:#bd2330;--accent-soft:#fff0f1;--accent-hover:#fff5f5;--accent-ring:#d2293633;
--accent-bright:#d71920;--accent-mid:#c62233;--accent-strong:#a3172a;--accent-tint:#fde7ea;--accent-shadow:rgba(210,41,54,.3);
--accent-deep:#b71c2c;--accent-soft2:#fdeef0;--accent-soft3:#fdf1f2;--accent-line:#f3c9ce;--accent-line2:#f3c4c8;--accent-line3:#e9a3a9;--accent-pale:#ffb4bb;--accent-hover2:#fff8f8;--accent-hover3:#fff7f7;
--accent-x-af2b38:#af2b38;--accent-x-f0b9be:#f0b9be;--accent-x-f0c3c7:#f0c3c7;--accent-x-f0c6cb:#f0c6cb;--accent-x-f3c2c6:#f3c2c6;--accent-x-f3c9ce:#f3c9ce;--accent-x-fff6f7:#fff6f7;   /* 35.36: màu thương hiệu – brand.css đổi theo BRAND_COLOR */
--danger:#8f1d24;--danger-dark:#6e141a;--danger-soft:#fdf0ef;--danger-line:#d9a3a7;
--ok-bg:#e9f6f1;--ok-text:#236c55;--warn-bg:#fff2df;--warn-text:#975d0f;
--sidebar-w:230px}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}[hidden]{display:none!important}
button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}
button{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:10px 15px;min-height:42px;font-weight:600}
button:hover{border-color:var(--accent);background:var(--accent-hover)}button:disabled{opacity:.48;cursor:not-allowed}
.primary{background:var(--accent);color:#fff;border-color:var(--accent);min-height:46px;padding:10px 19px;font-weight:700}.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
/* Thao tác xóa/hủy: nền trắng, viền đậm, có biểu tượng; khác hẳn nút chính màu đặc. */
.danger{background:var(--surface);color:var(--danger);border:1.5px solid var(--danger-line)}
.danger::before{content:"⚠ ";font-weight:700}
.danger:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}
.danger-solid{background:var(--danger);color:#fff;border:1.5px solid var(--danger-dark)}
.danger-solid::before{content:"⚠ "}
.danger-solid:hover{background:var(--danger-dark);border-color:var(--danger-dark);color:#fff}
.actions .danger,.row .danger{margin-left:12px}
.text{background:none;border:0;color:var(--accent-text)}
a{color:var(--accent-text);text-decoration:none}
input,select,textarea{border:1px solid var(--field-line);background:var(--surface);padding:11px 12px;border-radius:6px;min-width:0;width:100%;color:var(--ink)}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid var(--accent-ring)}
textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}
label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}label.check{flex-direction:row;align-items:center;font-weight:400}
h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.45px;margin-bottom:6px}h2{font-size:20px}h3{font-size:16px}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--muted);margin-bottom:8px}
.muted{color:var(--muted);font-size:13px;line-height:1.6}
#sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--line);color:var(--ink);padding:20px 12px;display:flex;flex-direction:column;z-index:5;box-shadow:1px 0 7px #252b3408}
.brand{display:flex;gap:10px;align-items:center;color:var(--accent);padding:7px 12px;margin-bottom:12px;font-size:20px;letter-spacing:1px}
.brand-logo{display:block;height:46px;width:auto;max-width:100%}.login-logo{display:block;height:auto;width:min(260px,100%)}
nav{display:grid;gap:2px;overflow-y:auto}
nav small{font-size:10px;font-weight:700;letter-spacing:1px;color:#9299a4;padding:17px 13px 6px}
nav button{background:transparent;border:0;text-align:left;color:#3f4956;padding:10px 13px;border-radius:7px;font-weight:600}
nav button:hover{background:var(--accent-hover);color:var(--accent-text)}
nav button.active{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent),inset 3px 0 var(--accent);font-weight:700}
#sidebar footer{margin-top:auto;border-top:1px solid var(--line);padding:16px 12px 2px;display:grid;gap:12px;font-size:12px;color:#5c6674}
#sidebar footer button{color:#4d5864;background:transparent;border-color:var(--field-line)}
.main{margin-left:var(--sidebar-w);max-width:1800px}
header{display:flex;align-items:center;gap:18px;padding:20px 30px 17px;background:var(--surface);border-bottom:1px solid var(--line)}
header>div{flex:1}header h1{font-size:24px;margin-bottom:0}header .eyebrow{color:#88909b;margin-bottom:5px}
.shop{width:240px}#menu{display:none}
#content{padding:24px 30px;min-height:70vh}.bottom{padding:20px 30px;color:#8a9ca2;font-size:11px}
.card{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:9px;margin-bottom:18px;box-shadow:0 2px 9px #242b3408}
.card h2{font-size:18px;margin-bottom:15px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid>label{align-self:start}.wide{grid-column:1/-1}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:22px}
.stat{background:var(--surface);border:1px solid var(--line);border-top:3px solid transparent;border-radius:9px;padding:20px;box-shadow:0 2px 9px #242b3408}
.stat span{display:block;color:var(--muted);font-size:12px;margin-bottom:12px}.stat strong{font-size:24px;letter-spacing:-1px}
.stat:first-child{border-top-color:var(--accent)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;margin:14px 0}
table{border-collapse:collapse;width:100%;font-size:13px}
th{background:#f8f9fb;text-align:left;color:#626d7b;font-size:11px;font-weight:600;letter-spacing:.25px;white-space:nowrap}
td,th{padding:13px 14px;border-bottom:1px solid #e9eff0;vertical-align:middle}
td{max-width:300px;overflow-wrap:anywhere}tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--accent-hover2)}
td button{padding:5px 10px;font-size:12px;min-height:34px}
.empty{padding:32px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px}
.badge{display:inline-block;background:var(--accent-soft);color:var(--accent-x-af2b38);border-radius:5px;padding:5px 8px;font-size:11px;white-space:nowrap}
.badge.warn{background:var(--warn-bg);color:var(--warn-text)}
.actions{display:flex;gap:7px;flex-wrap:wrap}
.filters{display:grid;grid-template-columns:2fr repeat(2,minmax(100px,1fr)) auto;gap:12px;align-items:end}
.order-search{display:grid;grid-template-columns:minmax(240px,2fr) minmax(145px,1fr) minmax(145px,1fr) minmax(145px,1fr);gap:12px;align-items:end}
.order-search input[readonly]{background:#f7f8fa;cursor:default}
.section{margin-top:25px}
.error{color:var(--danger);background:var(--danger-soft);padding:12px;border-radius:8px}
.info{background:#fff5f4;color:#7f3940;padding:14px;border-radius:9px;line-height:1.6}
.money{font-variant-numeric:tabular-nums;white-space:nowrap}
#notice:empty{display:none}#notice{margin:16px 30px 0}
dialog{border:0;border-radius:16px;padding:0;width:min(920px,95vw);max-height:90vh;box-shadow:0 24px 80px #0003;color:var(--ink)}
dialog::backdrop{background:#102d3699;backdrop-filter:blur(2px)}
.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:1}
.dialog-head h2{flex:1}#dialog-back{margin-right:12px;white-space:nowrap;background:transparent;border:0;color:var(--accent);font-weight:700}
.table-wrap tr.openable{cursor:pointer}.table-wrap tr.openable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.table-wrap tr.openable td{padding-top:9px;padding-bottom:9px}
.dialog-head h2{margin:0}#dialog-body{padding:24px}#dialog-body form{display:grid;gap:16px}
dialog.danger-dialog .dialog-head{border-top:5px solid var(--danger)}
dialog.danger-dialog .dialog-head h2{color:var(--danger)}
.danger-note{background:var(--danger-soft);color:var(--danger);border-left:3px solid var(--danger);padding:12px 14px;border-radius:6px;font-weight:600;font-size:13px}
.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent-soft) 0%,#f7f8fa 52%,#f3f5f8 100%);padding:24px}
.login>section{max-width:460px;width:100%;background:var(--surface);padding:42px;border-radius:12px;box-shadow:0 16px 65px #122d3612}
.login h1{font-size:34px;line-height:1.2;margin:20px 0}.login p{color:var(--muted);line-height:1.6}
.login form{display:grid;gap:18px;margin-top:28px}.login .eyebrow{margin-top:18px;color:var(--accent)}
.login #login-error{color:var(--danger)}
#toast{position:fixed;right:24px;bottom:24px;background:#27313d;color:#fff;padding:16px 24px;border-radius:12px;max-width:90vw;z-index:20;box-shadow:0 8px 30px #0002}
.message{border-left:3px solid var(--line);padding:14px 18px;margin:14px 0;background:#f8f9fb;white-space:pre-wrap}
.attachments{display:flex;gap:12px}.attachments img{max-width:140px;max-height:140px;border-radius:8px}
.tier{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:8px}
.loading{padding:40px;color:var(--muted)}details{margin:12px 0}summary{cursor:pointer;padding:10px 0;color:var(--muted)}
/* Form tạo đơn: người gửi + người nhận bên trái, hàng hóa + dịch vụ bên phải, thanh tổng tiền cố định dưới cùng. */
.create-form>.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.create-col{display:grid;gap:16px;align-content:start}
.create-form .create-group{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:16px 18px;display:grid;gap:12px}
.create-form .create-group h3{border-left:3px solid var(--accent);padding-left:10px;margin:0;font-size:15px;text-transform:uppercase;letter-spacing:.3px}
.create-form .create-group .grid{gap:10px 12px}
.create-form .create-group .grid.wide{border-top:1px solid var(--line);padding-top:10px}
.create-form label{gap:5px;font-size:13px}
.create-form input,.create-form select,.create-form textarea{padding:9px 11px}
.create-form textarea{min-height:64px}
.create-form .create-group>button{justify-self:start}
.seg-group{display:inline-flex;gap:0;justify-self:start;border:1px solid var(--field-line);border-radius:7px;overflow:hidden}
.seg{border:0;border-radius:0;min-height:36px;padding:7px 16px;background:var(--surface);font-weight:600;color:var(--muted)}
.seg+.seg{border-left:1px solid var(--field-line)}
.seg.on{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent)}
.create-bar{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:16px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:0 -4px 16px #242b340f}
.create-sum{display:grid;gap:2px;min-width:110px}.create-sum span{font-size:11px;color:var(--muted);font-weight:600}.create-sum strong{font-size:18px}
.create-state{margin:0;flex:1;min-width:180px;font-size:13px}
.create-actions{display:flex;gap:10px;margin-left:auto}
.stat-hint{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.4}
.cod-filters{grid-template-columns:200px 170px 170px auto;margin-bottom:16px}
.bars{display:flex;align-items:flex-end;gap:4px;height:170px;padding:10px 4px 0;margin-bottom:8px;overflow-x:auto;border-bottom:1px solid var(--line)}
.bar{flex:1 0 18px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.bar i{display:block;width:100%;max-width:34px;min-height:2px;background:var(--accent);border-radius:3px 3px 0 0}
.bar small{font-size:10px;color:var(--muted);white-space:nowrap}
#tabbar{display:none}
.pay-sub{font-size:14px;margin:14px 0 6px;color:#3b4652}.ok-text{color:var(--ok-text);font-weight:600}
button.big-action{min-height:46px;padding:10px 22px;font-size:15px;font-weight:700;background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 6px #c4182833}
button.big-action:disabled{background:#e9ecf0;color:#8b95a1;border-color:#dfe3e8;box-shadow:none}
.pay-tools{align-items:center}.pay-picked{font-weight:700;color:var(--muted)}
.created{display:grid;gap:10px}.created-ok{font-size:18px;font-weight:700;color:var(--ok-text);margin:0}.created p{margin:0}
/* Bản 34.1: lựa chọn dịch vụ sau khi tính cước */
.quote-options{display:grid;gap:8px;margin:12px 0}.quote-options:empty{display:none}
.quote-opt{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer;text-align:left;font-weight:500}
.quote-opt.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring);background:var(--accent-soft)}
.quote-opt .qo-name{display:grid;gap:3px}.qo-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.quote-opt .qo-price{font-weight:700;font-size:16px;white-space:nowrap}
.quote-opt .qo-dot{width:16px;height:16px;border-radius:50%;border:2px solid #b8c0ca}.quote-opt.on .qo-dot{border-color:var(--accent);background:radial-gradient(var(--accent) 45%,transparent 50%)}
/* Bảng giá: tìm dịch vụ */
.rate-search{position:relative;max-width:560px}.rate-search .ss-panel{max-height:360px}
.rate-opt{display:flex;justify-content:space-between;gap:10px}
.card.flash{box-shadow:0 0 0 3px var(--accent-ring);transition:box-shadow .3s}
.qr-pay{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}.qr-pay img.vietqr{width:240px;max-width:100%;image-rendering:pixelated;border:1px solid var(--line);border-radius:8px}
@media(max-width:720px){.qr-pay{grid-template-columns:1fr}.qr-pay img.vietqr{justify-self:center}}
.tag.carrier-vtp{background:#fdecee;color:#b3202e;border-color:#f3c4c8}
.tag.carrier-ghn{background:#fff3e6;color:#b25400;border-color:#f3c99a}
/* Menu nhóm xổ xuống (một nhóm mở tại một thời điểm) */
#nav{gap:2px}
#nav .nav-top,#nav .nav-head{display:flex;align-items:center;gap:10px;width:100%;font-weight:700;color:#2d3743}
#nav .nav-ico{width:22px;text-align:center;font-size:16px;flex-shrink:0}
#nav .nav-arrow{margin-left:auto;color:#9aa3ae;transition:transform .15s;font-size:12px}
#nav .nav-group.open .nav-arrow{transform:rotate(90deg)}
#nav .nav-group.open>.nav-head{color:var(--accent-text)}
#nav .nav-kids{display:none;padding:2px 0 6px 32px}
#nav .nav-group.open>.nav-kids{display:grid;gap:1px}
#nav .nav-kids button{display:flex;align-items:center;gap:8px;font-weight:500;padding:8px 12px}
#nav .nav-count{margin-left:auto;font-size:11px;font-weight:700;color:#fff;background:#8b95a1;border-radius:9px;padding:1px 7px}
#nav .nav-count:empty{display:none}#nav .nav-count.warn{background:var(--danger)}
#nav .nav-head .nav-count{margin-left:auto}#nav .nav-head .nav-count:not(:empty)+.nav-arrow{margin-left:6px}
/* Công tắc */
.switch{display:flex;flex-direction:row;align-items:center;gap:10px;justify-self:end;cursor:pointer;font-weight:600;font-size:13px}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch-ui{width:38px;height:22px;border-radius:11px;background:#c9ced6;position:relative;transition:background .15s;flex-shrink:0}
.switch-ui::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px #0003}
.switch input:checked+.switch-ui{background:var(--accent)}.switch input:checked+.switch-ui::after{transform:translateX(16px)}
.switch input:focus-visible+.switch-ui{outline:2px solid var(--accent-ring);outline-offset:2px}
/* Ô chọn có tìm kiếm */
.ss-native{position:absolute!important;opacity:0;pointer-events:none;width:1px!important;height:1px;overflow:hidden}
.ss{position:relative}
.ss-btn{width:100%;text-align:left;font-weight:500;justify-content:flex-start;min-height:40px;padding:9px 30px 9px 11px;border:1px solid var(--field-line);border-radius:6px;background:var(--surface);position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-btn::after{content:"▾";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#7a8490}
.ss-btn.empty{color:var(--muted)}.ss-btn:disabled{background:#f5f6f8;cursor:not-allowed}
.ss-panel{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--field-line);border-radius:8px;box-shadow:0 10px 30px #1f293730;padding:8px;display:grid;gap:6px;min-width:220px}
.ss-q{padding:8px 10px!important}
.ss-list{max-height:260px;overflow-y:auto;display:grid}
.ss-opt{padding:8px 10px;border-radius:5px;cursor:pointer;font-size:14px}
.ss-opt.act{background:#f2f4f7}.ss-opt.sel{background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent)}
.ss-none{padding:10px;color:var(--muted);font-size:13px}
/* Nhãn khách hàng, biến thể */
.tags{display:inline-flex;flex-wrap:wrap;gap:4px}.tag{display:inline-block;white-space:nowrap;padding:2px 8px;border-radius:10px;background:#eef1f5;color:#4a5563;font-size:12px;font-weight:600;border:1px solid #dde2e8}
.tag.bad{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}
.tags.pick{display:flex;gap:6px;margin-bottom:10px}.tags.pick .tag{flex:0 0 auto;width:auto}.tags.pick .tag{cursor:pointer;min-height:32px;padding:5px 12px}.tags.pick .tag.on{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}
.tags.pick .tag.bad.on{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}
.risk-box:empty{display:none}.risk-box p{margin:0}
input.qty.cost{width:110px}
/* Trạng thái vận đơn, hành trình, thanh chọn đơn */
.st{display:inline-block;padding:4px 9px;border-radius:12px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid transparent}
.st-blue{background:#e8f1fd;color:#1f5aa6;border-color:#c7dcf7}.st-orange{background:var(--warn-bg);color:var(--warn-text);border-color:#f3d6a8}
.st-red{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.st-green{background:var(--ok-bg);color:var(--ok-text);border-color:#bfe3d4}.st-grey{background:#f0f2f5;color:#59626e;border-color:#dfe3e8}
.st-wrap{display:inline-grid;gap:3px}.st-hold{color:var(--danger);font-size:11px;font-weight:600}
.status-panel{border:1px solid var(--line);border-left:4px solid #9aa5b1;border-radius:9px;padding:14px 16px;margin-bottom:14px;display:grid;gap:10px;background:var(--surface)}
.st-border-red{border-left-color:var(--danger)}.st-border-orange{border-left-color:#e3a33b}.st-border-blue{border-left-color:#2f6fca}.st-border-green{border-left-color:#2f8f6d}
.status-panel p{margin:0}.status-hint{font-weight:600}
.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px}.status-grid>div{display:grid;gap:2px}.status-grid span{font-size:12px}
.timeline{list-style:none;margin:16px 0 0;padding:0 0 0 18px;border-left:2px solid var(--line);display:grid;gap:14px}
.timeline li{position:relative;display:grid;gap:3px}.timeline li::before{content:"";position:absolute;left:-25px;top:4px;width:10px;height:10px;border-radius:50%;background:#b8c0ca;border:2px solid #fff}
.timeline li.now::before{background:var(--accent)}.timeline li p{margin:0;font-size:13px}
.select-bar{position:sticky;top:0;z-index:3;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;margin:10px 0;background:var(--accent-soft);border:1px solid var(--accent-line2);border-radius:9px}
.select-bar>span{margin-right:6px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.chip{min-height:34px;padding:6px 12px;border-radius:17px;font-size:13px}.chip.on{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}
label.check.all{gap:6px;font-size:11px}
@media(min-width:721px){td .actions{flex-wrap:nowrap}td .actions button{white-space:nowrap}}.counter{display:block;text-align:right;margin-top:4px}
/* Kho hàng */
.card>.row+form{margin-top:16px}
.stock{display:inline-block;min-width:34px;text-align:center;padding:3px 8px;border-radius:5px;font-weight:700;font-variant-numeric:tabular-nums}
.stock.ok{background:var(--ok-bg);color:var(--ok-text)}.stock.low{background:var(--warn-bg);color:var(--warn-text)}.stock.negative{background:var(--danger-soft);color:var(--danger)}
strong.neg{color:var(--danger)}strong.pos{color:var(--ok-text)}
.picker{position:relative;display:grid;gap:4px}
.pick-list{display:grid;gap:2px}
.pick-list:empty{display:none}
.pick{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;min-height:38px;padding:7px 10px;font-weight:500;border-color:var(--line)}
.pick strong{font-size:12px}.pick small{color:var(--muted)}
.stock-pick{display:grid;gap:8px;padding:10px;border:1px dashed var(--field-line);border-radius:8px;background:#fafbfc}
.pick-lines{display:grid;gap:6px}
.pick-line{display:grid;grid-template-columns:1fr 84px auto;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:6px 8px}
.pick-line>div{display:grid;gap:1px;min-width:0}.pick-line strong{font-size:12px}.pick-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pick-line .warn{color:var(--warn-text);font-size:12px}.pick-line button{min-height:34px;padding:4px 10px}
input.qty{width:84px;padding:7px 8px}
.label-preview{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start;margin-top:14px}
.label-preview img{width:min(260px,100%);height:auto;border:1px solid var(--line);border-radius:6px;background:#fff;image-rendering:auto}
@media(max-width:1100px){
:root{--sidebar-w:205px}header{padding:18px 22px}#content{padding:22px}
.order-search{grid-template-columns:repeat(3,minmax(0,1fr))}.order-search>label:first-child{grid-column:1/-1}
.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr 1fr}
.create-form>.grid{grid-template-columns:1fr}.cod-filters{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
#sidebar{width:260px;transform:translateX(-100%);transition:transform .2s;box-shadow:10px 0 40px #0002}#sidebar.open{transform:none}
.main{margin-left:0}#menu{display:block}
header{padding:15px 16px;flex-wrap:wrap;gap:12px}header h1{font-size:20px}header .eyebrow{display:none}
.shop{order:3;width:100%}#content{padding:16px 12px}
.grid,.grid.three{grid-template-columns:1fr}
.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:14px}.stat strong{font-size:22px}.stat:last-child:nth-child(odd){grid-column:1/-1}
.card{padding:16px}.filters{grid-template-columns:1fr 1fr}.filters>label:first-child{grid-column:1/-1}
.order-search{grid-template-columns:repeat(2,minmax(0,1fr))}.order-search>label:first-child{grid-column:1/-1}
dialog{width:96vw;max-height:94vh}.dialog-head,#dialog-body{padding:16px}.login>section{padding:28px}#notice{margin:14px}
.tier{grid-template-columns:repeat(3,minmax(0,1fr))}.tier button{grid-column:1/-1}.bottom{padding:16px}.row>button{flex-shrink:0}
.actions .danger,.row .danger{margin-left:0}
.create-form .create-group{padding:14px}.create-form .create-group .grid:not(.three){grid-template-columns:1fr}.create-form .create-group .grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.create-bar{gap:4px 10px;padding:8px 10px;margin-top:10px}.create-sum{min-width:0;flex:1}.create-sum span{font-size:10px}.create-sum strong{font-size:14px}.create-state{flex-basis:100%;order:4;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.create-actions button{min-height:40px;padding:8px 10px}.create-actions{width:100%;order:5}.create-actions button{flex:1}
.bar small{display:none}
.table-wrap{border:0;overflow:visible}table,tbody{display:block;width:100%}thead{display:none}
tbody tr{display:block;border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:6px 12px;background:var(--surface)}
td{display:flex;justify-content:space-between;gap:14px;max-width:none;padding:9px 0;min-width:0;text-align:right}
td::before{content:attr(data-label);color:var(--muted);font-size:11px;text-align:left;flex-shrink:0;max-width:40%}
td .actions{justify-content:flex-end}td input[type=checkbox]{margin-left:auto}
.table-wrap td:last-child{border:0}.table-wrap table{font-size:13px}
body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
#tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--surface);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom));box-shadow:0 -4px 14px #242b3412}
#tabbar button{flex:1;text-align:center;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;min-height:54px;padding:4px 2px;font-size:11px;font-weight:600;color:var(--muted);border-radius:8px}
#tabbar .tab-icon{font-size:20px;line-height:1}
#tabbar button.active{color:var(--accent-text);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}#tabbar button:hover{background:var(--accent-hover)}
#sidebar{z-index:7;padding-bottom:80px}
.create-bar{bottom:calc(64px + env(safe-area-inset-bottom))}
#toast{bottom:calc(76px + env(safe-area-inset-bottom));right:12px;left:12px}
.bottom{display:none}
header h1{font-size:20px}#menu{display:none}
.card>h2{font-size:18px}
.label-preview img{width:100%}}

/* Confirmations keep their emphasis even in the compact mobile order bar. */
.create-actions button.primary{min-height:46px;padding:10px 19px}

/* 35.5: Tiền cước kèm ai trả */.fee-cell{display:inline-flex;flex-direction:column;gap:2px;white-space:nowrap}.fee-cell small{font-size:12px;font-weight:400}

/* 35.6.2: ô bắt buộc và viền ô nhập rõ hơn */
.req-mark{color:#d0021b;font-weight:700}
.req-note{margin:0 0 4px;font-size:13px}
input:hover,select:hover,textarea:hover,.ss-btn:hover{border-color:#8f99a6}
.login .login-ok,.login-ok{color:#0f7b3d;background:#e9f7ef;border:1px solid #b9e4c9;border-radius:7px;padding:10px 12px;font-weight:600;margin:8px 0 0}
.login-ok:empty{display:none}
.contact-rows{display:grid;gap:0;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.contact-row{display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:center;padding:14px 16px;background:var(--surface)}
.contact-row+.contact-row{border-top:1px solid var(--line)}
.contact-label{color:var(--muted);font-size:13px;font-weight:600}
.contact-value{display:grid;gap:2px}.contact-value strong{font-size:15px;word-break:break-all}.contact-value small{font-size:12px}
@media (max-width:720px){.contact-row{grid-template-columns:1fr;gap:6px}.contact-row button{justify-self:start}}
/* 35.6.4: iPhone tự phóng to khi bấm vào ô có chữ < 16px (che thanh Tính cước). Chỉ áp dụng màn hình cảm ứng/nhỏ. */
@media (max-width:1100px),(pointer:coarse){input:not([type=checkbox]):not([type=radio]),select,textarea,.ss-btn,.ss-q{font-size:16px}}
.tier-blocks{display:grid;gap:12px;margin:12px 0}.tier-block{margin:0}.tier-block>.row:first-child{justify-content:space-between;align-items:center}
.bell{position:relative;font-size:18px;padding:8px 12px}.bell-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d0021b;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}
.notif-list{display:grid;gap:8px;margin-top:12px}.notif{display:grid;gap:3px;text-align:left;font-weight:400;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.notif.unread{border-left:4px solid var(--accent);background:var(--accent-hover3)}.notif strong{font-size:14px}
/* 36: giao diện Shop gọn, ẩn dòng hướng dẫn (Admin/Nhân viên vẫn thấy) */
body.role-shop .hint{display:none}

.fee-audit td:not(:last-child){white-space:nowrap}
.fee-audit .actions{flex-direction:column;align-items:stretch;gap:6px}
.pager select{width:auto;min-width:150px}

/* 35.7.1: Quản lý vận đơn kiểu ô trạng thái */
.status-board{margin:16px 0 4px;border-top:1px solid var(--line);padding-top:14px}
.status-tiles{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;background:#f3f4f7;border-radius:10px;overflow:hidden}
.status-tile{display:grid;justify-items:center;gap:4px;padding:14px 6px 12px;background:transparent;border:0;border-top:3px solid transparent;border-radius:0;min-height:auto;color:var(--ink);cursor:pointer;position:relative}
.status-tile+.status-tile:before{content:'';position:absolute;left:0;top:22%;bottom:22%;border-left:1px solid #dfe2e7}
.status-tile:hover{background:#eceef2}
.status-tile.on{background:var(--accent-soft);border-top-color:var(--accent)}
.status-tile .tile-icon{font-size:18px;line-height:1;color:#8a929d}
.status-tile.on .tile-icon{color:var(--accent)}
.status-tile .tile-label{font-size:13px;font-weight:600;text-align:center}
.status-tile strong{font-size:14px;font-weight:500}
.status-tile.alert strong{color:var(--accent-text);font-weight:700}
.status-subs{display:flex;flex-wrap:wrap;gap:4px 18px;padding:12px 4px 0;border-bottom:1px solid var(--line)}
.status-sub{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;min-height:auto;padding:6px 2px 10px;font-size:13px;color:var(--ink);cursor:pointer}
.status-sub b{color:var(--accent-text);font-weight:600}
.status-sub.on{border-bottom-color:var(--accent);font-weight:600}
.order-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}
.order-totals{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:14px}
.order-totals b{color:var(--ok-text)}
.order-paging{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.order-paging select{width:auto;min-width:64px;padding:4px 8px;min-height:32px}
.order-paging .icon-btn{min-width:36px;min-height:32px;padding:4px 8px}
.order-paging .page-no{font-size:13px;min-width:54px;text-align:center}
@media (max-width:1100px){.status-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.status-tile+.status-tile:before{display:none}.order-footer{flex-direction:column;align-items:stretch}}
@media (max-width:720px){.status-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}

.order-search{grid-template-columns:minmax(240px,2fr) minmax(130px,1fr) minmax(130px,1fr) minmax(130px,1fr) auto}
.search-go{display:flex;align-items:end}.search-go button{white-space:nowrap}
.order-more{margin-top:6px}.order-more summary{font-size:13px}
.orders-list td{white-space:nowrap}.orders-list td .st{white-space:nowrap}
.cell-2{display:inline-grid;gap:2px;line-height:1.35}.cell-2 small{font-size:12px}
.orders-list .code{font-weight:600;letter-spacing:.2px}
.order-paging label{display:inline-flex;align-items:center;gap:6px;font-size:13px}
@media (max-width:1100px){.order-search{grid-template-columns:repeat(2,minmax(0,1fr))}.order-search>label:first-child{grid-column:1/-1}.search-go{grid-column:1/-1}.search-go button{width:100%}}
.order-paging label{flex-direction:row!important;margin:0}.order-paging label select{margin:0}

.status-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}
.status-more{position:relative;align-self:center}.status-more summary{cursor:pointer;font-size:13px;font-weight:600;padding:6px 2px 10px;list-style:none}
.status-more summary::-webkit-details-marker{display:none}.status-more.on summary{color:var(--accent-text)}
.status-menu{position:absolute;right:0;top:100%;z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #1f293733;padding:6px 12px;display:grid;min-width:220px}
.status-menu .status-sub{text-align:left;padding:9px 2px;border-bottom:0}
@media (max-width:1100px){.status-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.status-sub.alert{color:var(--accent-text);font-weight:600}
.status-subs{gap:4px 14px}.status-sub,.status-more summary{font-size:13px}.status-menu{left:auto;right:0}
/* 35.8 Đối soát Viettel Post */
.tag.ok{background:var(--ok-bg);color:var(--ok-text);border-color:#bfe3cc}
.recon-filters{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(180px,1fr) minmax(220px,1.2fr);gap:12px;align-items:end;margin-bottom:12px}
.recon-search{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin:0}
.recon-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}
.recon-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 12px;border-radius:16px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.recon-chip b{font-weight:700;color:var(--muted)}
.recon-chip.warn b{color:var(--danger)}
.recon-chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}
.recon-chip.active b{color:var(--accent-text)}
.recon-list td{vertical-align:top}
.recon-list .cell-2 small{white-space:nowrap}
@media(max-width:720px){.recon-filters{grid-template-columns:1fr}}
.recon-list{overflow-x:auto}
.recon-list td .cell-2>strong,.recon-list td .cell-2>a{white-space:nowrap}
.recon-list td:nth-child(2){min-width:120px}
.recon-state{display:grid;gap:6px;min-width:190px}
.recon-mark small{white-space:normal}
.recon-list .cell-2{white-space:nowrap}
.recon-list td:nth-child(2) .cell-2,.recon-state .cell-2{white-space:normal}
.recon-state{max-width:270px}.recon-state .tag,.recon-state button{justify-self:start}.recon-mark .tag{justify-self:start}
.recon-state button{min-height:34px;padding:6px 12px;font-size:13px}
.recon-list .recon-state small,.recon-list .recon-state .tag{white-space:normal}
/* 35.8.1 Đơn thay đổi tiền phải xem trước khi chốt bảng kê */
.money-review{display:grid;gap:4px;min-width:240px;max-width:420px;padding:8px 10px;border-radius:8px;background:var(--danger-soft);border:1px solid var(--danger-line);white-space:normal}
.money-review .mr-note{color:var(--danger);font-size:13px;font-weight:600;line-height:1.4}
.money-review.seen{background:var(--ok-bg);border-color:#bfe3cc}.money-review.seen .mr-note{color:var(--ink);font-weight:500}
.money-review .mr-seen{justify-self:start;min-height:32px;padding:5px 14px;font-size:13px;background:var(--accent);color:#fff;border-color:var(--accent)}
.money-review-banner{display:grid;gap:8px;padding:12px 14px;border-radius:8px;background:var(--danger-soft);border:1px solid var(--danger-line);color:var(--danger);margin:8px 0}
.money-review-banner .row{margin:0}
.money-review-list{overflow-x:auto}
.money-review .mr-info{color:var(--warn-text);font-size:12px;line-height:1.4}
.money-review.info-only{background:var(--warn-bg);border-color:#f0d9b5}
/* 35.9 Shop thử nghiệm */
.tag.test-tag{background:#efe9ff;color:#5b3fb5;border-color:#d8ccff;margin-left:6px}
.sim-scen{display:grid;gap:8px}.sim-scen button{text-align:left}
/* 35.9 Tiền Shop chưa chi */
.unpaid-list{overflow-x:auto}.unpaid-reason{display:block;max-width:460px;white-space:normal;color:var(--danger);font-weight:600;font-size:13px}
/* 35.9 Trang chủ Admin */
.task-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.task-row:first-of-type{border-top:0}.task-text{display:grid;gap:2px}.task-row button{flex:0 0 auto}
.task-red .task-text strong{color:var(--danger)}.task-red{box-shadow:inset 3px 0 0 var(--accent);padding-left:12px}
.task-muted .task-text strong{color:var(--muted);font-weight:500;font-size:13px}.task-muted button{min-height:34px;padding:5px 12px;font-size:13px}
.test-card{background:#f7f6fb;border-color:#e3def5}.test-card h2{color:#5b3fb5}
.home-tiles{margin-top:6px}.home-hot{margin-top:10px;gap:8px}
/* 35.9 Quản lý vận đơn trên điện thoại */
.m-orders{margin:-16px -12px 0;padding-bottom:56px}
.m-head{position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--line);padding:8px 12px 6px}
.m-search{display:flex;gap:6px;margin:0}.m-search input{flex:1;min-width:0;height:40px;border:1px solid var(--field-line);border-radius:8px;padding:0 12px;font-size:16px}
.m-search button{min-height:40px;padding:0 12px;flex:0 0 auto}
.m-chips{display:flex;gap:6px;overflow-x:auto;padding-top:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.m-chips::-webkit-scrollbar{display:none}
.m-head.hide-chips .m-chips{display:none}
.m-chip{flex:0 0 auto;min-height:32px;padding:5px 11px;border-radius:16px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:600;white-space:nowrap;color:var(--ink)}
.m-chip b{color:var(--muted);margin-left:2px}.m-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.m-chip.on b{color:var(--accent-text)}
.m-chip.alert b{color:var(--accent)}.m-chip.grp{background:var(--ink);border-color:var(--ink);color:#fff}
.m-list{background:var(--surface)}
.m-order{display:flex;gap:10px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line);cursor:pointer}
.m-order:active{background:var(--accent-hover)}.m-order.hot{box-shadow:inset 3px 0 0 var(--accent)}
.m-check{width:20px;height:20px;flex:0 0 auto}
.m-body{flex:1;min-width:0;display:grid;gap:3px}
.m-r1,.m-r2{display:flex;justify-content:space-between;align-items:center;gap:8px}
.m-code{font-weight:700;font-size:15px;letter-spacing:.2px;display:flex;align-items:center;gap:6px;min-width:0}
.m-r1 .st{font-size:12px;padding:2px 8px;white-space:nowrap}
.m-name{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-money{font-weight:700;white-space:nowrap}
.m-more{text-align:center;padding:16px 12px;font-size:13px}
.m-total{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:5;display:flex;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--surface);border-top:1px solid var(--line);font-size:13px}
.m-selbar{position:fixed;left:0;right:0;bottom:calc(98px + env(safe-area-inset-bottom));z-index:5;display:flex;gap:6px;align-items:center;overflow-x:auto;padding:6px 12px;background:var(--accent-hover2);border-top:1px solid var(--danger-line)}
.m-selbar button{min-height:34px;padding:4px 10px;font-size:13px;flex:0 0 auto}
.m-top{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(104px + env(safe-area-inset-bottom));z-index:5;min-height:30px;padding:4px 12px;border-radius:15px;border:0;background:#27313dcc;color:#fff;font-size:12px}
.m-groups{display:grid;gap:6px}.m-group{display:flex;justify-content:space-between;align-items:center;text-align:left}.m-group.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}
@media(max-width:720px){dialog.full-sheet{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}}
/* 35.9 Chi tiết đơn gọn */
.kv-list{display:grid;grid-template-columns:minmax(92px,auto) 1fr;gap:7px 12px;margin-top:8px}.kv-k{color:var(--muted);font-size:13px}.kv-v{font-weight:600;overflow-wrap:anywhere}
a.tel{color:var(--accent);font-weight:700;text-decoration:none;white-space:nowrap}
.sp-top{gap:8px;align-items:center}.sp-carrier{font-size:13px}.sp-main{font-weight:700;font-size:15px;margin:8px 0 2px}.sp-sub{font-size:13px}
.order-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;margin:12px 0}.order-acts>button,.more-acts>summary{min-height:40px;padding:8px 14px;font-weight:600}
.more-acts{position:relative}.more-acts>summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:7px;background:var(--surface);display:inline-flex;align-items:center}
.more-acts>summary::-webkit-details-marker{display:none}.more-menu{position:absolute;right:0;z-index:4;margin-top:4px;display:grid;gap:4px;min-width:220px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #0002}
.more-menu button{text-align:left;width:100%}
.steps{display:grid;gap:10px;margin-top:10px}.step{display:flex;gap:10px;align-items:flex-start}.step>i{font-style:normal;width:22px;height:22px;border-radius:11px;display:grid;place-items:center;font-size:12px;font-weight:700;flex:0 0 auto}
.step.ok>i{background:var(--ok-bg);color:var(--ok-text)}.step.bad>i{background:var(--danger-soft);color:var(--danger)}.step.wait>i{background:#f0f2f5;color:#59626e}
.step b{display:block;font-size:14px}.step span{color:var(--muted);font-size:12px}.step.bad b{color:var(--danger)}
.pill{font-size:13px;font-weight:700;padding:4px 10px;border-radius:12px;background:#f0f2f5;color:#59626e;white-space:nowrap}.pill.ok{background:var(--ok-bg);color:var(--ok-text)}.pill.bad{background:var(--danger-soft);color:var(--danger)}.pill.warn{background:var(--warn-bg);color:var(--warn-text)}
.money-more>summary{cursor:pointer;font-weight:700}.recon-foot{margin:10px 0 0;font-size:13px}
@media(max-width:720px){.order-acts{gap:5px}.order-acts>button,.more-acts>summary{min-height:38px;padding:6px 10px;font-size:13px}}
.order-acts{align-items:center}.more-acts{display:inline-block;margin:0}

/* 35.10 – bảng màu trạng thái vận đơn */
.st-purple{background:#f1ecff;color:#5b3fb5;border-color:#ddd2fb}
.st-blue{background:#e8f1fd;color:#1f5aa6;border-color:#c7dcf7}
.st-teal{background:#e3f6f6;color:#0f6e70;border-color:#bfe6e6}
.st-green{background:#e9f6f1;color:#236c55;border-color:#bfe3d4}
.st-orange{background:#fff2df;color:#975d0f;border-color:#f3d6a8}
.st-red{background:#fdf0ef;color:#8f1d24;border-color:#f2c9c6}
.st-brown{background:#f4ece4;color:#7a4e2a;border-color:#e6d5c4}
.st-dark{background:#e4e7eb;color:#2f3741;border-color:#cfd4da}
.st-light{background:#f3f4f6;color:#8a929c;border-color:#e3e6ea}
.st-border-purple{border-left-color:#7a5bd6}.st-border-teal{border-left-color:#1b8f91}.st-border-brown{border-left-color:#9a6a42}.st-border-dark{border-left-color:#4a5563}.st-border-light{border-left-color:#c3c9d1}
.st-border-red{border-left-color:#c62f3b}.st-border-orange{border-left-color:#e3a33b}
.m-order.hot{box-shadow:inset 3px 0 0 #c62f3b}
tr.st-hot td:first-child{box-shadow:inset 3px 0 0 #c62f3b}
/* 35.10 – màu trạng thái bảng kê chi */
.bk{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:12px;white-space:nowrap;border:1px solid transparent}
.bk-draft{background:#fff;color:#6f7885;border:1px dashed #b3bcc7}.bk-locked{background:#fff2df;color:#975d0f;border-color:#f3d6a8}
.bk-paying{background:#e8f1fd;color:#1f5aa6;border-color:#c7dcf7}.bk-paid{background:#e9f6f1;color:#236c55;border-color:#bfe3d4}
.bk-carried{background:#f4ece4;color:#7a4e2a;border-color:#e6d5c4}.bk-zero{background:#f3f4f6;color:#8a929c;border-color:#e3e6ea}
.bk-late{color:#8f1d24;font-size:12px;font-weight:600}.neg-money{color:#8f1d24;font-weight:700}

/* 35.13 – nhãn trạng thái có màu theo ý nghĩa */
.badge.tone-ok{background:#e9f6f1;color:#236c55}.badge.tone-run{background:#e8f1fd;color:#1f5aa6}
.badge.tone-warn{background:#fff2df;color:#975d0f}.badge.tone-bad{background:#fdf0ef;color:#8f1d24}.badge.tone-none{background:#f0f2f5;color:#4a5563}

/* 35.13 – màn Nhân viên */
.perm-group{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0 0 10px}.perm-group legend{font-weight:700;padding:0 6px}
.perm-note{display:block;color:var(--muted,#6f7885);font-size:12px;font-weight:400;margin-top:2px}.perm-sensitive{color:#975d0f}
.preset-row{gap:6px;flex-wrap:wrap;margin-bottom:10px}.chip-btn{border:1px solid var(--line);border-radius:16px;padding:5px 12px;background:#fff;font-weight:600;cursor:pointer}
.scope-list.dim{opacity:.45}.pw-tools{gap:8px;align-items:center;flex-wrap:wrap}.pw-shown{font-size:15px;letter-spacing:.5px}.tag.role-tag{background:#e8f1fd;color:#1f5aa6;border-color:#c7dcf7}

/* 35.13 – khung Đơn cần xử lý theo KPI */
.kpi-table{width:100%;border-collapse:collapse}.kpi-table th{font-size:12px;color:var(--muted,#6f7885);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.kpi-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.kpi-table .c{text-align:center;width:110px}
.kpi-stage b{display:block}.kpi-stage small{font-size:12px}
.who{font-size:12px;font-weight:700;padding:2px 8px;border-radius:10px;background:#eef1f5;color:#4a5563;white-space:nowrap}.who.who-shop{background:#f1ecff;color:#5b3fb5}
.kpi-n{min-width:38px;min-height:auto;padding:5px 10px;border-radius:9px;font-weight:700;font-size:15px;border:0;cursor:pointer}
.kpi-warn{background:#fff4d6;color:#8a5a00}.kpi-late{background:#fdecee;color:#b3202e}.kpi-severe{background:#2f3741;color:#fff}.kpi-z{color:#c3c9d1}
.kpi-lv{font-size:12px;font-weight:700;padding:3px 8px;border-radius:9px;white-space:nowrap}
.kpi-info{background:#f7f8fa;border-radius:10px;padding:10px 12px;margin:10px 0 0}.kpi-h3{font-size:15px;margin:16px 0 6px}
.home-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;align-items:start}.home-grid>.card{margin:0}
@media (max-width:1100px){.home-grid{grid-template-columns:1fr}.kpi-table .c{width:auto}}

/* 35.13 – icon menu nét mảnh */
#nav .nav-ico{display:inline-flex;align-items:center;justify-content:center;color:#5b6572}
#nav .nav-ico svg,#tabbar .tab-icon svg{display:block}
#nav .nav-top.active .nav-ico,#nav .nav-group.open>.nav-head .nav-ico{color:var(--accent-text)}
#nav .nav-arrow{display:inline-flex;color:#9aa3ae}#nav .nav-arrow svg{width:15px;height:15px}
#tabbar .tab-icon{display:inline-flex;font-size:0}#tabbar .tab-icon svg{width:22px;height:22px}

/* 35.13 – sửa bố cục quyền và bảng KPI trên điện thoại */
.preset-row,.perm-group,.pw-tools{grid-column:1/-1}
.perm-group .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.perm-group label{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px 8px;font-weight:600}
.perm-group label input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;margin:0;appearance:auto;-webkit-appearance:checkbox}
.perm-group .perm-note{flex-basis:100%;padding-left:26px;margin:0}
@media(max-width:720px){.perm-group .grid{grid-template-columns:1fr}
 .kpi-table{display:table;width:100%}.kpi-table thead{display:table-header-group}.kpi-table tbody{display:table-row-group}
 .kpi-table tr{display:table-row;border:0;margin:0;padding:0;background:none}.kpi-table td,.kpi-table th{display:table-cell;padding:8px 6px}
 .kpi-table td:before{content:none!important}.kpi-stage small{display:none}.kpi-n{min-width:30px;padding:4px 8px}}
@media(max-width:720px){.kpi-table td{text-align:left;border-bottom:1px solid var(--line)}.kpi-table td.c{text-align:center}}
/* 35.14: đồng bộ */
.sync-bar{width:100%;height:12px;accent-color:var(--accent)}
.sync-line{font-weight:600;margin:10px 0 4px}
.sync-errs{max-height:200px;overflow:auto}
.sync-errs .error{margin:4px 0;font-size:.9em}
@keyframes syncflash{from{background:#fff3b0}to{background:transparent}}
tr.sync-changed>td,.m-order.sync-changed{animation:syncflash 4s ease-out 1}
tr.sync-changed>td:first-child{box-shadow:inset 3px 0 0 #e0a800}
/* 35.14: đơn nháp */
.tag.draft-tag{background:#fff4d6;color:#8a5a00;border:1px dashed #d9a400;margin-left:6px;font-size:.72em;font-weight:700;letter-spacing:.04em}
.draft-banner{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;background:#fffaeb;border:1px dashed #e0b84a;border-radius:12px;padding:10px 14px;margin:0 0 14px}
.draft-banner .error{flex-basis:100%;margin:0}
.draft-banner .ok-note{color:#1f6b3a;font-weight:600}
.draft-banner button{margin-left:auto}
button.draft-btn{border-style:dashed;border-color:#d9a400;min-height:46px;font-weight:700}
.drafts .error{display:block;max-width:420px;white-space:normal}
.m-order.m-draft{border-left:4px dashed #d9a400}
.drafts .kv p{margin:4px 0}
.drafts .nw{white-space:nowrap}
.m-orders .drafts>.hint{padding:0 14px}
.create-actions button{white-space:nowrap}
@media(max-width:720px){.create-actions{gap:8px}.create-actions button.primary,.create-actions button.draft-btn{padding:10px 8px}.create-actions button.draft-btn{flex:0 0 auto;padding:10px 14px}}
/* 35.15: Yêu cầu với hãng (Admin), Trang tải chậm, Xem như Shop */
.seg-tabs{margin-bottom:14px}
.cl-tags{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:4px;vertical-align:middle}
.cl-tag{display:inline-block;white-space:nowrap;padding:1px 7px;border-radius:9px;background:#eef1f5;color:#4a5563;font-size:11px;font-weight:700;border:1px solid #dde2e8}
.cl-tag.sim{background:#efe9ff;color:#5b3fb5;border-color:#d8ccff}
.cl-tag.novel{background:var(--warn-bg);color:var(--warn-text);border-color:#f0d9a8}
.cl-tag.done{background:var(--ok-bg);color:var(--ok-text);border-color:#bfe3cc}
.cl-issue{display:grid;gap:3px;min-width:220px}.cl-issue small{line-height:1.35}
pre.json{margin:8px 0 0;padding:12px;background:#f6f7f9;border:1px solid var(--line);border-radius:8px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}
details.raw{margin-top:12px}details.raw>summary{cursor:pointer;font-weight:700;color:var(--ink)}
.sim-row{border:1px solid var(--line);border-radius:10px;padding:10px 14px 12px;margin:0 0 10px}.sim-row legend{font-weight:700;padding:0 6px}
.sim-row label[hidden]{display:none}
.admin-only{border-left:3px solid #5b3fb5}
.viewas-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 22px;background:#2b2140;color:#fff;font-size:14px}
.viewas-bar b{color:#ffd9de}.viewas-bar .primary{min-height:36px;padding:6px 14px;white-space:nowrap}
.viewas-btn{white-space:nowrap;padding:8px 12px;font-weight:700}
body.view-as header{box-shadow:inset 0 -3px 0 #5b3fb5}
@media(max-width:720px){.viewas-bar{padding:8px 12px;font-size:13px}.viewas-btn{padding:6px 8px;font-size:13px}.cl-issue{min-width:0}}
.cl-order small{display:block;margin-top:2px}
/* 35.15.1: Duyệt đơn nháp – cước thay đổi */
.fee-changes{display:grid;gap:8px;margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}
.fee-change{display:grid;grid-template-columns:90px max-content 20px max-content;align-items:center;gap:8px}.fee-change .old{text-decoration:line-through;color:var(--muted)}
.drafts .actions{display:flex;flex-wrap:wrap;gap:6px;min-width:230px;max-width:330px}
/* 35.16: nhãn hãng chung + màu sẵn cho hãng sắp nối */
.tag[class*="carrier-"]{background:#eef1f5;color:#3b4654;border-color:#d6dce3}
.tag.carrier-vtp{background:#fdecee;color:#b3202e;border-color:#f3c4c8}
.tag.carrier-ghn{background:#fff3e6;color:#b25400;border-color:#f3c99a}
.tag.carrier-spx{background:#fff0ec;color:#c8361a;border-color:#f6c6b9}
.tag.carrier-ghtk{background:#eaf7ef;color:#16773f;border-color:#bfe3cc}
.tag.carrier-jt{background:#fdeeee;color:#a1121c;border-color:#efc2c5}
.tag.warn-tag{background:var(--warn-bg);color:var(--warn-text);border-color:#f0d9a8;cursor:default;min-height:0;padding:2px 8px}

/* 35.16 Tạo đơn Excel: bảng sửa trực tiếp (chỉ máy tính) */
dialog:has(.bulk-grid-wrap){width:min(1500px,97vw)}dialog:has(.bulk-confirm){width:min(1240px,96vw)}
.bulk-tools{gap:10px;align-items:end;flex-wrap:wrap;margin:4px 0 10px}.bulk-tools label{min-width:220px}
.chip{border:1px solid var(--line);border-radius:16px;padding:5px 12px;min-height:34px;font-size:13px;font-weight:600;background:#fff}.chip.on{background:#27313d;color:#fff;border-color:#27313d}
.bulk-grid-wrap{overflow:auto;max-height:62vh;border:1px solid var(--line);border-radius:10px}
.bulk-grid{border-collapse:separate;border-spacing:0;font-size:13px;width:max-content}
.bulk-grid th{position:sticky;top:0;z-index:2;background:#f3f5f8;font-size:11px;padding:9px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.bulk-grid td{padding:5px 6px;border-bottom:1px solid #edf0f3;vertical-align:top;max-width:none;background:#fff}
.bulk-grid input,.bulk-grid select{min-height:32px;padding:4px 7px;font-size:13px;border:1px solid #d6dbe1;border-radius:6px;background:#fff;box-sizing:border-box}
.bulk-grid input[type=checkbox]{min-height:0;width:18px;height:18px;margin:7px 0 0}
.bulk-grid .err{border-color:var(--danger)!important;box-shadow:0 0 0 2px #d2293622;background:#fffafa}
.bulk-grid .need{border-color:var(--warn-text)!important;box-shadow:0 0 0 2px #975d0f22;background:#fffaf1}
.bulk-grid .s{position:sticky;z-index:1}.bulk-grid th.s{z-index:3}
.bulk-grid .st{left:0;width:200px;min-width:200px;max-width:200px}.bulk-grid .no{left:200px;width:44px;min-width:44px;text-align:center}
.bulk-grid .c2{left:244px;width:162px;min-width:162px}.bulk-grid .c3{left:406px;width:122px;min-width:122px;box-shadow:3px 0 4px -2px #0002}
.bulk-grid tr.bulk-bad td.s{background:#fff6f6}.bulk-grid tr.bulk-warn td.s{background:#fffaf1}.bulk-grid tr.flash td{background:#fff3c4!important}
.bulk-st{display:block;font-size:12px;font-weight:700;line-height:1.35;white-space:normal}.bulk-st.ok{color:var(--ok-text)}.bulk-st.bad{color:var(--danger)}.bulk-st.warn{color:var(--warn-text)}
.bulk-note{display:block;font-size:11px;margin-top:2px;color:var(--warn-text);white-space:normal}
@media (max-width:720px){[data-page="bulk"]{display:none!important}}

/* 35.17 Menu mới, Quản lý Shop, Shop của tôi, Hệ thống */
#sidebar footer button.identity{display:grid;gap:2px;text-align:left;border:0;background:transparent;padding:8px 6px;border-radius:9px;min-height:0;font-weight:500;color:var(--ink)}
#sidebar footer button.identity:hover{background:var(--accent-hover)}#sidebar footer button.identity b{font-size:14px}#sidebar footer button.identity small{color:var(--muted);font-size:12px}
.tabs-bar{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:4px 0 0;overflow-x:auto}
.tabs-bar button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--muted);padding:10px 16px;min-height:0;white-space:nowrap}
.tabs-bar button.on{color:var(--accent-text);border-bottom-color:var(--accent)}.tabs-bar button:hover{background:transparent;color:var(--ink)}
.shop-mgr{display:grid;grid-template-columns:minmax(330px,440px) minmax(0,1fr);gap:18px;align-items:start}
.shop-mgr>.card,.shop-panel>.card{margin-bottom:16px}.shop-head h2{margin:0 0 4px;display:flex;gap:8px;align-items:center}
.chips{gap:6px;flex-wrap:wrap;margin:12px 0 4px}.nav-head>span{white-space:nowrap}.chip{border:1px solid var(--line);border-radius:16px;padding:5px 12px;min-height:32px;font-size:13px;font-weight:600;background:#fff}.chip.on{background:#27313d;color:#fff;border-color:#27313d}
.table-wrap tr.row-selected td{background:#fff3f4}.shop-mgr .table-wrap td:nth-child(2){white-space:nowrap}
.step-list{display:grid}.step-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.step-row:last-child{border-bottom:0}
.step-ic{font-size:18px;text-align:center}.step-ic.ok{color:var(--ok-text)}.step-ic.todo{color:var(--danger)}.step-ic.wait{color:#9aa3ad}
.card.pending-box{border-color:#f3d6a8;background:#fffaf1}
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
@media (max-width:1100px){.shop-mgr{grid-template-columns:1fr}}
/* 35.17.4: nút Chi tiết cước cạnh Tiền cước (Tạo đơn lẻ) */
.fee-detail-link{padding:0 2px;min-height:0;font-size:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
/* 35.18: Hỗ trợ/Khiếu nại 2 cột */
.tk-head{display:grid;gap:10px;margin-bottom:12px}.tk-chips{margin:0}.chip.warn:not(.on){border-color:var(--danger);color:var(--danger)}
.tk-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tk-tools input[type=search]{flex:1 1 220px;min-width:0}.tk-tools select{width:auto}
.tk-desk{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:14px;align-items:start}
.tk-list{display:grid;gap:6px;max-height:calc(100vh - 260px);overflow:auto;padding-right:2px}
.tk-item{display:grid;gap:4px;text-align:left;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff;font-weight:400;min-height:0}
.tk-item:hover{border-color:var(--field-line)}.tk-item.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring);background:var(--accent-hover)}
.tk-item.unread{border-left:4px solid var(--accent)}.tk-item.unread strong::after{content:" ●";color:var(--accent)}
.tk-line{display:flex;justify-content:space-between;gap:8px;font-size:13px}.tk-line.muted{color:var(--muted);font-size:12px}
.tk-prev{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-st{font-size:11px;font-weight:700;border-radius:5px;padding:2px 7px;white-space:nowrap;background:#eef1f4;color:#46505c}
.tk-new{background:var(--accent-soft);color:var(--accent-text)}.tk-waiting_vtp{background:var(--warn-bg);color:var(--warn-text)}.tk-done{background:var(--ok-bg);color:var(--ok-text)}
.tk-panel{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;min-height:240px}.tk-empty{text-align:center;margin-top:80px}
.tk-detail{display:grid;gap:12px}.tk-title{display:flex;align-items:center;gap:10px;justify-content:space-between}.tk-title h3{margin:0;font-size:16px}
.tk-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13px}.tk-back{display:none;justify-self:start;padding:0;min-height:0}
.tk-thread{display:grid;gap:8px;max-height:46vh;overflow:auto;padding:4px 2px}
.tk-msg{border-radius:10px;padding:8px 11px;max-width:88%;background:#f2f4f7}.tk-msg.from-at{justify-self:end;background:#eef5ff}
.tk-msg.internal{justify-self:stretch;max-width:none;background:#fff8e1;border:1px dashed #e0b44c}
.tk-who{font-size:12px;color:var(--muted);margin-bottom:3px}.tk-body{white-space:pre-wrap;font-size:14px}
.tk-compose{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}.tk-compose.internal textarea{background:#fff8e1;border-color:#e0b44c}
.tk-tpl{gap:12px;align-items:center;flex-wrap:wrap}.tk-tpl select{width:auto;max-width:100%}.tk-ctl{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
@media(max-width:1100px){.tk-desk{grid-template-columns:1fr}.tk-desk.has-sel .tk-list{display:none}.tk-desk:not(.has-sel) .tk-panel{display:none}
 .tk-back{display:inline-block}.tk-list{max-height:none}.tk-msg{max-width:100%}.tk-thread{max-height:none}}
/* 35.18: nhật ký email, câu mẫu */
.mail-state{display:flex;gap:10px;align-items:flex-start;border-radius:10px;padding:10px 12px;margin-bottom:10px}
.mail-state.ok{background:var(--ok-bg);color:var(--ok-text)}.mail-state.bad{background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent)}
.cus-addr{display:block;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 35.18.1: ô Số nhà, đường ở bảng Excel hiện đủ nội dung */
.bulk-detail{width:100%;min-height:44px;resize:vertical;white-space:normal;font:inherit;line-height:1.3;padding:4px 6px}
/* 35.18.3: địa chỉ trong file dưới ô Số nhà, đường */
.bulk-addr{display:grid;gap:3px;width:185px}.bulk-src{color:var(--muted);font-size:12px;line-height:1.3;white-space:normal;word-break:break-word}
/* 35.19: Shop xác nhận đã nhận tiền mặt */
.cash-row{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:space-between;align-items:center;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:10px 12px;margin-top:8px}
.cash-row.disputed{border-left-color:#e0b44c;background:#fffbef}.cash-act{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
/* 35.19: Nhập đơn từ hãng */
.imp-st{font-size:12px;font-weight:700;border-radius:5px;padding:2px 7px;white-space:nowrap}.imp-st.ok{background:var(--ok-bg);color:var(--ok-text)}
.imp-st.warn{background:var(--warn-bg);color:var(--warn-text)}.imp-st.bad{background:var(--accent-soft);color:var(--accent-text)}.imp-st.muted{background:#eef1f4;color:#46505c}
.nowrap{white-space:nowrap}

/* 35.22: nhắc đơn VTP chưa lên bảng kê */
details.warn-card{border-left:4px solid #d9534f}
details.warn-card>summary{cursor:pointer;padding:2px 0;list-style-position:inside}
details.warn-card[open]>summary{margin-bottom:8px}

/* ===== 35.23: bỏ dòng chữ nhỏ phía trên tiêu đề trang (trùng tiêu đề) ===== */
header .eyebrow{display:none!important}
/* ===== 35.23: Quản lý vận đơn kiểu Viettel Post ===== */
.of-wrap{margin-bottom:12px}
.of-row{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(240px,1.3fr) repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:center}
.of-search{display:flex;height:40px;border:1px solid var(--field-line);border-radius:7px;overflow:hidden;background:var(--surface)}
.of-search input{border:0;border-radius:0;height:100%;padding:0 12px;flex:1;min-width:0}
.of-search input:focus{outline:none}
.of-search button{min-height:0;height:100%;border:0;border-left:1px solid var(--accent);border-radius:0;color:var(--accent);background:var(--surface);padding:0 14px;font-size:18px}
.of-field{height:40px;min-height:40px;border:1px solid var(--field-line);border-radius:7px;background:var(--surface);padding:0 12px;font-weight:500;font-size:14px;color:var(--ink);width:100%}
.of-field.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text);font-weight:700}
.of-date{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}
.of-date small{color:var(--muted);font-weight:600}.of-date.on small{color:var(--accent-text)}
.of-datewrap{position:relative}
.drp-pop{position:absolute;top:46px;left:0;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 40px #0002}
.drp{display:flex;font-size:13px}
.drp-pre{display:flex;flex-direction:column;border-right:1px solid var(--line);padding:6px 0;min-width:140px}
.drp-pre button{border:0;border-radius:0;min-height:0;padding:9px 16px;text-align:left;font-weight:500;background:none}
.drp-pre button:hover{background:var(--accent-hover)}.drp-pre button.on{background:var(--accent);color:#fff;font-weight:700}
.drp-right{padding:10px 12px}.drp-cals{display:flex;gap:18px}
.drp-cal{width:238px}.drp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.drp-nav{border:0;min-height:0;padding:2px 10px;font-size:18px;background:none}
.drp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.drp-grid b{font-size:12px;color:var(--muted);padding:3px 0}
.drp-grid button{border:0;min-height:0;padding:6px 0;border-radius:6px;font-weight:500;background:none;font-size:13px}
.drp-grid button.in{background:#fde3e5;border-radius:0}.drp-grid button.ed{background:var(--accent);color:#fff;font-weight:700}
.drp-grid button.now{outline:1px solid var(--accent)}.drp-grid button.dis{color:#c9ced5;text-decoration:line-through;background:none}
.drp-foot{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);margin-top:8px;padding-top:8px;font-size:13px}
.of-meta{display:flex;align-items:center;gap:12px;margin-top:10px;font-size:13px;color:var(--muted)}
.of-meta .live{color:var(--accent);font-weight:700}
.of-chip{background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent-x-f0c3c7);border-radius:14px;padding:2px 10px;font-weight:700}
.of-meta .text{min-height:0;padding:0;font-weight:700}
.of-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 14px}
.tb{min-height:38px;padding:7px 14px;font-size:14px;border-radius:7px;font-weight:700;white-space:nowrap}
.tb.off{opacity:.45}
.tb-excel{background:#2e7d4f;border-color:#2e7d4f;color:#fff}.tb-excel:hover{background:#25683f;color:#fff;border-color:#25683f}
.tb-danger{color:var(--danger);border:1.5px solid var(--danger-line)}
.tb-quiet{font-weight:600;color:var(--muted)}
.tb-menu{position:relative}.tb-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;border:1px solid var(--accent);background:var(--accent);color:#fff}
.tb-menu>summary::-webkit-details-marker{display:none}.tb-menu>summary.off{background:var(--accent-line3);border-color:var(--accent-line3)}
.tb-menu-list{position:absolute;top:42px;left:0;z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #0002;display:flex;flex-direction:column;min-width:190px;overflow:hidden}
.tb-menu-list button{border:0;border-radius:0;text-align:left;min-height:40px}
.of-picked{font-size:13px;color:var(--muted);margin-left:4px}.of-picked b{color:var(--accent-text)}
.of-all{background:#fff7e8;border:1px solid #f3d9a8;border-radius:7px;padding:8px 12px;margin:8px 0;font-size:14px;text-align:center}
.of-all .text{min-height:0;padding:0 4px;font-weight:700}
.pill.cod-ok{background:var(--ok-bg);color:var(--ok-text)}.pill.cod-warn{background:var(--warn-bg);color:var(--warn-text)}
.pill.cod-info{background:#e8f0fe;color:#2753b8}.pill.cod-gray{background:#f0f2f5;color:#59626e}
.cell-goods{display:inline-block;max-width:190px;white-space:normal}
button.det{border:1.5px solid var(--accent);color:var(--accent-text);background:var(--surface);min-height:34px;padding:5px 12px;font-weight:700;white-space:nowrap}
button.det:hover{background:var(--accent);color:#fff}
@media(max-width:1100px){.of-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* điện thoại */
.m-fbtn{font-weight:700}.m-fbtn.on{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}
.m-chip.date{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}
.m-filter h4{margin:14px 0 8px;font-size:14px}
.m-fchips{display:flex;flex-wrap:wrap;gap:8px}
.m-fchips button{min-height:36px;border-radius:18px;padding:5px 14px;font-weight:600}
.m-fchips button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text);font-weight:700}
.m-fgo{margin-top:16px;gap:10px}.m-fgo button{flex:1;min-height:46px}
.m-r2 .m-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:720px){
 .drp{flex-direction:column}.drp-pre{flex-direction:row;flex-wrap:wrap;border:0;gap:6px;padding:0 0 10px}
 .drp-pre button{border:1px solid var(--line);border-radius:16px;padding:6px 12px}
 .drp-right{padding:0}.drp-cal{width:100%}.drp-grid button{padding:9px 0;font-size:14px}
 .full-sheet .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .full-sheet .actions>button{width:100%;margin:0}
}
/* 35.23: bảng vận đơn gọn – đủ cột trên màn 1366px không phải kéo ngang */
.of-row{grid-template-columns:minmax(230px,1.5fr) minmax(250px,1.2fr) repeat(auto-fit,minmax(150px,.8fr))}
.of-date span{white-space:nowrap}.of-date small{white-space:nowrap}
.orders-list table{font-size:13px}
.orders-list th,.orders-list td{padding:9px 7px}
.orders-list th{white-space:nowrap}
.orders-list .cell-goods{max-width:150px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.orders-list td:last-child,.orders-list th:last-child{position:sticky;right:0;background:var(--surface)}
.orders-list .pill,.orders-list .st{font-size:12px;padding:3px 8px}
.of-row{grid-template-columns:minmax(220px,1.3fr) minmax(285px,1.2fr) repeat(auto-fit,minmax(150px,.8fr))}

/* 35.24: report totals and exposure risk */
tfoot td{font-weight:700;background:#fce8ea;border-top:2px solid #d92336}.report-pending td{background:var(--accent-soft)}.report-returning td{background:#fff5da}.report-status{font-weight:600}
.child-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:18px 0;padding:16px;background:#f7f8fa;border-radius:10px}.child-summary small,.child-summary strong{display:block}.child-summary strong{font-size:14px;margin-top:5px;overflow-wrap:anywhere}

/* 35.26: bảng giá Theo hãng / Tự gán */
.tag.mode-carrier{background:#e8f4ff;color:#0b5cad;border-color:#b9d8f5}.tag.mode-manual{background:#f1f3f5;color:#495057;border-color:#dee2e6}

/* 35.26.1: thanh tổng Tạo đơn – Cước (Gửi trả/Nhận trả + ⓘ) · Thu hộ · Cân; máy tính thêm Tiền hàng; nút theo bước */
.create-sum span{display:flex;align-items:center;gap:5px;white-space:nowrap;min-height:22px}
.cs-payer{font-size:11px;font-weight:600;color:#495057;background:#f1f3f5;border-radius:6px;padding:1px 6px}
.cs-info{width:17px;height:17px;min-height:0;padding:0;border-radius:50%;border:1.5px solid var(--red,#d32535);background:transparent;color:var(--red,#d32535);font-weight:700;font-size:11px;line-height:1;font-style:italic;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.cs-fee strong{cursor:pointer}
.create-sum strong{white-space:nowrap}
.create-bar.is-stale .create-sum strong{opacity:.4}
.create-state.ok{color:#2b8a3e;font-weight:600}.create-state.warn{color:#b25400;font-weight:600}
.create-bar:not(.is-quoted) .create-actions button[type=submit]{min-width:150px}
@media(max-width:720px){
 .create-bar .cs-goods{display:none}
 .create-bar{column-gap:12px}
 .create-sum{flex:1 1 0;min-width:0}.create-sum.cs-fee{flex:1.2 1 0}.create-sum:last-of-type{flex:.85 1 0}
 .create-sum span{min-height:24px}
 .create-sum strong{font-size:16px}.create-sum strong.long{font-size:13px}
 .create-state{white-space:normal}
}
/* 35.26.2: Tạo đơn – hàng Số lượng/Trọng lượng/Giá trị; nút Tính lại không giữ màu hover trên điện thoại; báo cáo trên điện thoại */
.create-form .create-group .grid.three.goods3{align-items:end}
@media(max-width:720px){.create-form .create-group .grid.three.goods3{grid-template-columns:minmax(0,.62fr) minmax(0,1.19fr) minmax(0,1.19fr);gap:10px}.goods3>label{white-space:nowrap}}
@media(hover:none){.create-actions button:not(.primary):not(.draft-btn):hover{border-color:var(--line);background:var(--surface)}}
.report-mobile{display:none}
@media(max-width:720px){.report-desk{display:none!important}.report-mobile{display:block;margin-top:10px}
.rm-total{background:var(--surface);border:1px solid var(--accent-x-f0c6cb);border-left:4px solid var(--accent);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.rm-total .k{font-size:12px;color:var(--muted)}.rm-total .v{font-size:24px;font-weight:700;margin:2px 0 6px;white-space:nowrap}
.rm-total .g{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;border-top:1px solid #f3dfe2;padding-top:8px}.rm-total .g span{display:block;font-size:12px;color:var(--muted)}.rm-total .g b{font-size:14px;white-space:nowrap}
.rm-sec{font-size:12px;color:var(--muted);font-weight:700;margin:4px 4px 6px;letter-spacing:.3px}
.rm-item{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin-bottom:7px}
.rm-item .r{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.rm-item .r b{font-size:14px;white-space:nowrap}.rm-item .code{font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rm-item .r2{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;margin-top:3px;font-size:12px;color:var(--muted)}.rm-item .r2 .pill{font-size:11px;padding:1px 7px}
.rm-item.report-pending{background:var(--accent-soft)}.rm-item.report-returning{background:#fff5da}
.report-mobile .warn{color:var(--danger);font-weight:700}
.rm-more{width:100%;margin-top:4px}}
/* 35.26.3: thanh Tạo đơn trên màn nhỏ (320px) / chữ to – số không đè nhau, nút co theo khung, trang không tràn ngang */
@media(max-width:720px){
 .create-bar .create-sum{min-width:max-content}
 .create-bar .create-sum strong{font-size:clamp(13px,4.3vw,16px)}.create-bar .create-sum strong.long{font-size:clamp(11.5px,3.6vw,13px)}
 .create-bar .create-actions{flex:1 1 100%;min-width:0;margin-left:0;flex-wrap:wrap}
 .create-bar .create-actions button,.create-bar .create-actions button.draft-btn{min-width:max-content;flex:1 1 0;padding-left:10px;padding-right:10px}
 .create-bar:not(.is-quoted) .create-actions button[type=submit]{min-width:0}
}
@media(max-width:360px){.create-bar .create-actions button,.create-bar .create-actions button.primary,.create-bar .create-actions button.draft-btn{padding:8px 8px;font-size:14px}}
/* 35.26.3: COD & bảng kê trên điện thoại – hàng Chọn tất cả (máy tính dùng ô ở tiêu đề bảng) */
.mobile-all{display:none}
@media(max-width:720px){.mobile-all{display:flex;align-items:center;gap:10px;padding:11px 12px;margin:0 0 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:700;font-size:14px}
.mobile-all.on{border-color:var(--accent);background:var(--accent-soft2);color:var(--accent-deep)}.mobile-all input{width:20px;height:20px}}
/* 35.27: Chi tiết đơn – tiêu đề, nút, 2 cột, 4 ô tiền, phép tính tiền, chi trả, phía hãng; Hành trình theo ngày */
.od-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:-4px 0 12px}
.od-copy{min-height:0;padding:3px 9px;font-size:12px;font-weight:600;border-radius:6px}
.od-acts{margin:0 0 14px}.od-acts>button{min-height:40px}
.od-menu{position:relative;display:inline-block}.od-menu>summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:7px;background:var(--surface);display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;font-weight:600}
.od-menu>summary::-webkit-details-marker{display:none}.od-menu[open]>summary{border-color:var(--accent);background:var(--accent-hover)}
.od-menu-list{position:absolute;left:0;top:calc(100% + 4px);z-index:6;min-width:230px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px #1b223026;display:grid}
.od-more .od-menu-list{left:auto;right:0}
.od-menu-list button.od-item,.od-menu-list>button{border:0;background:transparent;text-align:left;width:100%;min-height:36px;padding:8px 10px;font-weight:500;border-radius:6px}
.od-menu-list button:hover{background:#f3f4f7}.od-menu-list button.danger{color:var(--danger)}
.od-menu-sep{border-top:1px solid var(--line);margin:5px 2px}.od-menu-lab{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.3px;padding:4px 10px 2px}
.od-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:0 16px;align-items:start}
.od-acts-wrap{grid-column:1/-1}.od-col{display:grid;gap:14px;align-content:start}.od-col>div:empty{display:none}.od-col .card{margin:0}
.od-status .sp-main{font-size:16px;font-weight:700;margin-bottom:4px}.od-late{color:var(--danger);font-weight:700}
.od-mini{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.od-mini h4{margin:0 0 6px;font-size:12px;color:var(--muted);letter-spacing:.4px}
.od-mini-step{display:grid;grid-template-columns:14px 1fr;gap:8px;padding:3px 0;font-size:13px}.od-mini-step small{display:block;color:var(--muted);font-size:12px}
.dot{width:10px;height:10px;border-radius:50%;background:#c7ccd4;display:inline-block;margin-top:4px}.dot.d-warn{background:#e6a700}.dot.d-ok{background:#2e9d5b}.dot.d-run{background:#4a7bd0}.dot.d-ret{background:#8a5a2b}
.od-link{color:var(--accent-mid);font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}
.od-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.od-tiles>div{padding:11px 13px;border-right:1px solid #eef0f3;min-width:0}.od-tiles>div:last-child{border:0}
.od-tiles span{display:block;color:var(--muted);font-size:12px}.od-tiles b{display:block;font-size:16px;margin-top:3px;white-space:nowrap}.od-tiles small{color:var(--muted);font-size:12px}
.od-tiles .hi{background:#fff7f8}.od-tiles .hi b{color:#b71c2c}.od-tiles .pill{display:inline-block;margin-top:4px;font-size:12px;padding:2px 8px}
.od-money h2,.od-pay h2{font-size:15px;margin:0 0 6px}
.od-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:14px}.od-row span{color:#59626e;min-width:0}.od-row small{display:block;color:#8a93a0;font-size:12px}
.od-row b{white-space:nowrap;font-variant-numeric:tabular-nums}.od-row.minus b{color:#b71c2c}.od-row.plus b{color:#1d6b3a}.od-row.zero{display:none}.show-zero .od-row.zero{display:flex;opacity:.6}
.od-total{border-top:2px solid var(--ink,#172b4d);margin-top:6px;padding-top:9px}.od-total span{color:inherit;font-weight:700;font-size:15px}.od-total b{font-size:18px}
.od-note{font-size:12px;margin:4px 0 0}
.od-step{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:7px 0;border-bottom:1px solid #f0f1f4;font-size:14px}.od-step:last-child{border:0}
.od-step>i{width:20px;height:20px;border-radius:50%;background:#f0f2f5;color:#8a93a0;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:11px;font-weight:700}.od-step>i.ok{background:#e3f5e9;color:#1d6b3a}
.od-step small{display:block;color:var(--muted);font-size:12px}
.od-vendor{border-style:dashed;background:#fafbfc}.od-vendor>summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;list-style:none}.od-vendor>summary::-webkit-details-marker{display:none}
.od-vlab{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.3px}.od-vbrief{flex-basis:100%;font-size:13px}.od-vendor[open] .od-vbrief{display:none}.od-vendor .steps{margin-top:8px}
@media(max-width:1100px){.od-grid{display:flex;flex-direction:column;gap:12px}.od-col{display:contents}.od-col>div{width:100%}
 .od-o1{order:1}.od-o2{order:2}.od-acts-wrap{order:3}.od-o4{order:4}.od-o5{order:5}.od-o6{order:6}.od-o7{order:7}.od-mini{display:none}
 .od-tiles{grid-template-columns:1fr 1fr}.od-tiles>div:nth-child(2){border-right:0}.od-tiles>div:nth-child(-n+2){border-bottom:1px solid #eef0f3}
 .od-acts{display:flex;flex-wrap:wrap;gap:6px;margin:0}.od-acts>button.primary{flex-basis:100%}.od-acts>button,.od-acts>.od-menu{flex:1 1 0}.od-menu>summary{width:100%;justify-content:center}}
/* Hành trình */
.jr-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:2px 0 12px;border-bottom:1px solid var(--line)}.jr-right{margin-left:auto;display:flex;align-items:center;gap:10px}.jr-right button{min-height:34px;padding:6px 12px}
.jr-call{display:block;text-align:center;background:var(--accent);color:#fff;border-radius:10px;padding:11px;font-weight:700;margin:10px 0 0;text-decoration:none}
.jr-list{padding-bottom:6px}.jr-day{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.4px;margin:16px 0 6px}
.jr-step{display:grid;grid-template-columns:44px 16px minmax(0,1fr);gap:0 10px;padding:5px 0}
.jr-tm{color:#59626e;font-size:13px;font-weight:600;text-align:right}.jr-ln{position:relative}.jr-ln:before{content:"";position:absolute;left:4px;top:16px;bottom:-12px;width:2px;background:var(--line)}
.jr-nm{font-weight:700;font-size:14px;color:inherit;text-decoration:none}.jr-nm.warn{color:#8a5a00}a.jr-nm{color:#2f5aa8;cursor:pointer}
.jr-sub{color:var(--muted);font-size:13px;margin-top:2px}.od-place{border-bottom:1px dashed #b3b9c2;cursor:pointer}
.jr-note{font-size:13px;margin-top:3px;background:#f5f6f8;border-radius:6px;padding:3px 8px;display:inline-block}.jr-who{font-size:13px;margin-top:3px}
.jr-run-body{border-left:2px dashed var(--line);margin-left:60px;padding-left:4px}.jr-run-body .jr-step{grid-template-columns:44px 16px minmax(0,1fr)}
@media(min-width:721px){.jr-call{display:none}}
@media(max-width:720px){.jr-step{grid-template-columns:40px 14px minmax(0,1fr);gap:0 8px}.jr-run-body{margin-left:30px}}
.od-menu>summary{color:var(--ink);font-size:14px;padding:8px 14px}
@media(min-width:1101px){dialog:has(.od-grid){width:min(1120px,95vw)}}
.od-menu>summary{white-space:nowrap}
@media(max-width:1100px){.od-acts>.od-menu{display:block;min-width:0}.od-acts>button{min-width:0}.od-menu>summary{padding:8px 10px}}
@media(max-width:1100px){.od-grid{align-items:stretch}.od-acts{display:flex;width:100%}.od-acts>button:not(.primary),.od-acts>.od-menu{flex:1 1 0;min-width:0}
 .od-menu>summary,.od-acts>button{font-size:13px;width:100%;justify-content:center;white-space:nowrap}}
/* 35.27.1 */
.od-total.owe b,.od-total.owe span{color:#b71c2c}.od-total small{display:block;font-weight:500;font-size:12px;color:#b71c2c}
.show-zero .zero-hint{display:none}
.od-vprofit{margin-left:auto;font-weight:700;color:#1d6b3a;white-space:nowrap}.od-vprofit.loss{color:#b71c2c}
.od-vendor[open] .od-vprofit{display:none}
@media(max-width:1100px){.od-vbrief{flex-basis:auto;flex:1 1 60%;min-width:0}}
/* 35.27.2: khung chỉ cuộn phần thân (tiêu đề đứng yên, không dùng sticky) – tránh lỗi iPhone thanh cuộn chạy mà màn không vẽ lại */
dialog[open]{display:flex;flex-direction:column;overflow:hidden}
dialog[open]>.dialog-head{position:relative;top:auto;flex:0 0 auto}
dialog[open]>#dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transform:translateZ(0)}
html.dlg-lock body{position:fixed;left:0;right:0;width:100%;overflow:hidden}
@media(max-width:720px){dialog::backdrop{backdrop-filter:none;background:#102d36b3}}
/* 35.28: Báo cáo – bộ lọc gọn 1 hàng, phép tính lãi, số còn treo tháng trước, lãi từng đơn */
.report-filter{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.report-filter>.grid{display:contents}.report-filter .row.end{margin:0;order:2}.report-filter .row.end button{min-height:44px}
.report-filter>.grid>label{order:1}.report-filter>.grid>label.check{order:3;grid-column:1/-1;font-size:13px}
.report-carry,.rm-carry{font-size:13px;color:#8a5a00;background:#fff7e0;border-radius:8px;padding:6px 10px;margin:6px 0}.report-carry a,.rm-carry a,.report-back{color:var(--accent-mid);font-weight:600}
.rm-formula{border-top:1px solid #f3dfe2;padding-top:8px;display:grid;gap:4px}
.rm-formula>div{display:flex;justify-content:space-between;gap:10px;font-size:14px}.rm-formula span{color:#59626e}.rm-formula small{display:block;font-size:12px;color:#8a93a0}
.rm-formula b{white-space:nowrap}.rm-formula .minus b{color:#b71c2c}.rm-formula .eq{border-top:1px solid #e5e8ed;padding-top:5px}.rm-formula .eq span{color:inherit;font-weight:700}.rm-formula .eq b{color:#1d6b3a}.rm-formula .eq.loss b{color:#b71c2c}
.rm-item.rm-loss{background:var(--accent-soft);border-color:var(--accent-x-f3c9ce)}.rm-item.rm-loss .r b{color:#b71c2c}
@media(max-width:720px){.report-filter{grid-template-columns:minmax(0,1fr) auto}.report-filter>.grid>label:first-child{grid-column:1/-1}.report-filter .row.end button{padding:10px 18px}}
/* 35.28: nút Hành trình · In đơn ▾ · Khác ▾ kiểu B – biểu tượng cạnh chữ, nền hồng nhạt, chữ đỏ */
.od-acts .od-b,.od-acts .od-menu>summary.od-b{background:var(--accent-soft3);border:1px solid var(--accent-line);color:var(--accent-deep);font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.od-acts .od-b:hover,.od-acts .od-menu[open]>summary.od-b{background:#fbe3e6;border-color:#e9a7b0}
.od-ic{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
@media(hover:none){.od-acts .od-b:hover{background:var(--accent-soft3);border-color:var(--accent-line)}}
/* 35.29: nút nhắn SMS / Zalo + hộp câu mẫu */
.msg-btns{display:inline-flex;gap:4px;margin-left:6px;vertical-align:middle;flex-wrap:nowrap}
.msg-btn{min-height:0;padding:2px 9px;font-size:12px;font-weight:700;border-radius:12px;line-height:1.6}
.msg-btn.sms{background:#eef6ff;color:#1a4fa0;border:1px solid #c9dcf5}.msg-btn.zalo{background:#e8f3ff;color:#0068ff;border:1px solid #b9d7ff}
.jr-msg{display:flex;justify-content:center;margin-top:8px}.msg-btns.big .msg-btn{padding:6px 16px;font-size:14px;border-radius:9px}
@media(min-width:721px){.jr-msg{display:none}}
.msg-segs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.msg-segs .seg.on{border-color:var(--accent);background:var(--accent-soft2);color:var(--accent-deep)}
.msg-text{width:100%;font-size:15px;line-height:1.45}.msg-hint{font-size:13px;margin:8px 0}
.msg-acts{gap:8px;flex-wrap:wrap}.btn-like{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);flex:1 1 200px}
.btn-like.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-like.zalo{background:#0068ff;border-color:#0068ff;color:#fff}
.msg-segs.seg-group{border:0;background:transparent;padding:0}.msg-segs .seg{border:1px solid #c7ccd4;border-radius:16px;padding:6px 12px;min-height:0;background:var(--surface);font-size:13px;font-weight:600;flex:0 0 auto}
/* 35.29.1: Chi tiết đơn – nhãn "Shop chịu", dòng nhỏ trong ô số 1 dòng, liên hệ kiểu A (3 nút bằng nhau dưới tên) */
.od-tiles small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.od-shop,.od-tiles small.od-shop,.od-row small.od-shop{color:#b45309;font-weight:700}
.od-who{display:block;min-width:0}.od-nm{font-weight:700;overflow-wrap:anywhere}.od-ph{color:var(--accent-mid);font-weight:700;white-space:nowrap}
.od-cbtns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:7px 0 4px;max-width:420px}
.od-cb{display:flex;align-items:center;justify-content:center;min-height:38px;padding:6px 4px;border-radius:10px;font-weight:700;font-size:14px;text-decoration:none;border:1px solid;cursor:pointer;line-height:1.2;white-space:nowrap}
.od-cb.call{background:#e8f6ec;border-color:#b8e0c4;color:#1d6b3a}.od-cb.sms{background:#eef4ff;border-color:#c9d8f5;color:#1a4fa0}.od-cb.zalo{background:#e8f1ff;border-color:#bcd3fb;color:#0068ff}
.od-cb:active{filter:brightness(.95)}

/* 35.30: Đối soát VTP – thanh lọc, số tổng dạng phép cộng (bấm ô mở chi tiết), chi tiết chia trang */
.rv-head{padding:16px 18px}
.rv-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.rv-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.rv-filters>select,.rv-filters .ss{min-width:190px}
.rv-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rv-issue,.rv-list{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:8px 13px;font-weight:700;font-size:14px;cursor:pointer}
.rv-issue b{margin-left:4px}.rv-issue.on{border-color:#f1b6bd;background:#fff1f2;color:#b71c2c}
.rv-test{font-size:13px}
.rv-viewing{margin-top:10px;font-size:14px;background:#f5f6f8;border-radius:8px;padding:8px 12px}
.rv-flow{display:grid;grid-template-columns:1.2fr auto repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;margin-top:14px;background:var(--surface)}
.rv-flow.six{grid-template-columns:1.2fr auto repeat(5,minmax(0,1fr))}
.rv-flow.seven{grid-template-columns:1.2fr auto repeat(6,minmax(0,1fr))}   /* 35.58: Đối soát GHN có ô Cước trả ngoài phiên */
.rv-ghn{background:#fff6f7}
.rv-ghn strong{color:var(--ink)}
.rv-outside strong{color:#59626e}
.rv-owe.rv-static{cursor:default}
.rv-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;border:0;border-right:1px solid #eef0f3;background:transparent;padding:13px 14px;cursor:pointer;min-width:0;font:inherit;color:inherit;border-radius:0}
.rv-tile:last-child{border-right:0}.rv-tile:first-child{border-radius:12px 0 0 12px}.rv-tile:last-child{border-radius:0 12px 12px 0}
.rv-tile .l{font-size:13px;color:var(--muted)}.rv-tile strong{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.rv-tile small{font-size:12px;color:#8a93a0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-tile em{font-style:normal;font-size:12px;font-weight:700;color:var(--accent-mid)}
.rv-vtp{background:#fff6f7}.rv-vtp strong{color:var(--accent-mid)}.rv-paid strong{color:#1d6b3a}.rv-open strong,.rv-holding strong{color:#a15c00}.rv-profit strong{color:#1a4fa0}.rv-other strong{color:#59626e}
.rv-tile:hover{background:#fafbfc}.rv-tile.sel{background:#172b4d}.rv-tile.sel .l,.rv-tile.sel small{color:#c9d1dc}.rv-tile.sel strong{color:#fff}.rv-tile.sel em{color:var(--accent-pale)}
.rv-eq{display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#8a93a0;padding:0 4px;border-right:1px solid #eef0f3}
.rv-owe{display:block;width:100%;text-align:left;margin-top:12px;background:#fff8e6;border:1px solid #f3dca6;border-radius:10px;padding:10px 14px;font:inherit;font-size:14px;color:inherit;cursor:pointer}
.rv-owe em{font-style:normal;font-weight:700;color:var(--accent-mid)}.rv-owe.sel{border-color:#172b4d;box-shadow:inset 0 0 0 1px #172b4d}
.rv-gen{margin:10px 0 0;font-size:13px}
.rv-panel{border:2px solid #172b4d}.rv-ph{display:flex;justify-content:space-between;align-items:center;gap:10px}.rv-ph h2{margin:0;font-size:16px}
.rv-x{font-weight:700;color:var(--muted);white-space:nowrap}.rv-tip{font-size:13px;margin:6px 0}
.rv-sum{display:flex;flex-wrap:wrap;gap:6px 18px;border-top:2px solid #172b4d;padding-top:9px;margin-top:4px;font-size:14px;color:var(--muted)}.rv-sum b{color:var(--ink,#172b4d);font-variant-numeric:tabular-nums}.rv-sum b.pos{color:#1d6b3a}.rv-sum b.neg{color:#b71c2c}.rv-sum b.wt{color:#a15c00}
.wt{color:#a15c00}
.rv-pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:10px;font-size:13px;color:var(--muted)}.rv-pager button{min-width:40px}
.rv-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.rv-tab{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:6px 12px;font-weight:700;font-size:13px;cursor:pointer}.rv-tab b{margin-left:6px}
.rv-tab.on{background:#172b4d;color:#fff;border-color:#172b4d}.rv-tab.warn b{color:var(--accent-mid)}.rv-tab.on.warn b{color:#ffb4bb}
.rv-search{margin-left:auto}.rv-search input{min-width:200px}
.rv-more{padding:12px 18px;font-size:14px}
@media (max-width:720px){
 .rv-head{padding:12px}.rv-filters{width:100%}.rv-filters>select,.rv-filters .ss{flex:1;min-width:0}.rv-acts{width:100%}.rv-acts>*{flex:1}
 .rv-flow,.rv-flow.six,.rv-flow.seven{grid-template-columns:1fr}.rv-eq{display:none}
 .rv-tile{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between;border-right:0;border-bottom:1px solid #eef0f3;border-radius:0!important;padding:10px 12px}
 .rv-tile:first-child{border-radius:12px 12px 0 0!important}.rv-tile:last-child{border-bottom:0;border-radius:0 0 12px 12px!important}
 .rv-tile .l{flex:1;font-size:14px;color:#59626e}.rv-tile strong{font-size:16px}.rv-tile small{order:3;flex-basis:100%}.rv-tile em{display:none}
 .rv-tile.rv-vtp strong,.rv-tile.rv-ghn strong{font-size:20px}
 .rv-search{margin-left:0;width:100%}.rv-search input{width:100%;min-width:0}
}
.rv-filters{flex:1 1 380px}.rv-filters>select{width:auto;min-width:170px;max-width:220px}.rv-filters .ss{width:240px;max-width:100%}
.rv-panel.rv-inflow{margin:0;border-radius:0;border-width:2px;box-shadow:none;padding:12px}
@media (max-width:720px){.rv-filters .ss,.rv-filters>select{width:auto;max-width:none}.rv-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.rv-acts>*{font-size:13px;padding:8px 4px;white-space:nowrap;min-height:40px}
 .rv-panel.rv-inflow .rv-ph h2{font-size:14px}}
/* 35.30.3: Chi tiết đơn – khung Người nhận gọn ở đầu, nút Copy cạnh mã vận đơn */
.od-recv{padding:13px 16px}.od-lab{font-size:12px;font-weight:700;letter-spacing:.4px;color:var(--muted);margin-bottom:4px}
.od-recv .od-nm{font-size:15px}.od-addr{margin-top:4px;font-size:14px;overflow-wrap:anywhere}.od-goods{margin-top:4px;font-size:14px;font-weight:600}
.od-recv .od-cbtns{max-width:none}
.dialog-head #dialog-copy{flex:0 0 auto;margin:0 auto 0 8px;align-self:center}
@media(max-width:1100px){.od-o0{order:0}.od-o8{order:8}}
.dialog-head:has(#dialog-copy:not([hidden])) h2{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}#dialog-copy[hidden]{display:none}
@media(max-width:1100px){.od-acts-wrap{order:2}.od-o2{order:3}}   /* 35.30.3: nút Phát tiếp · Hành trình · In đơn · Khác ngay dưới Trạng thái */

/* 35.31: COD chờ thanh toán / Chờ lên bảng kê – dòng tổng thu gọn, đơn 2 dòng trên điện thoại, thanh "Đã chọn" dính dưới */
.pay-sum{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--line);background:#fafbfc;border-radius:12px;padding:12px 14px;margin-top:10px;font:inherit;color:inherit;cursor:pointer}
.pay-sum b{font-size:15px}.pay-sum small{display:block;color:var(--muted);font-size:13px;margin-top:3px}.pay-sum-r{text-align:right;white-space:nowrap}.pay-sum-r strong{display:block;font-size:18px}.pay-sum-r em{font-style:normal;font-weight:700;font-size:13px;color:var(--accent-mid)}
.pay-body{margin-top:6px}.pr-chips{margin:8px 0 4px}.pr-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.pr{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-bottom:1px solid #eef0f3;cursor:pointer}.pr:last-child{border:0}.pr.red{background:#fff6f7}
.pr-cb{width:20px;height:20px;margin-top:2px;flex:0 0 auto;accent-color:var(--accent-bright)}.pr-m{flex:1;min-width:0}
.pr-1{display:flex;justify-content:space-between;gap:8px}.pr-1 b{font-size:14px}.pr-v{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.pr-2{display:flex;justify-content:space-between;gap:8px;margin-top:3px;font-size:13px;color:var(--muted)}.pr-2>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-why{white-space:nowrap;flex:0 0 auto}
.pr-more{display:block;width:100%;border:0;background:transparent;color:var(--accent-mid);font-weight:700;padding:10px;cursor:pointer;font:inherit;font-weight:700}
.pay-bar{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom));z-index:5;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#172b4d;color:#fff;border-radius:12px;padding:9px 12px;margin-top:10px;font-size:13px}
.pay-bar[hidden]{display:none}.pay-bar button{white-space:nowrap}

/* 35.31: Khách hàng */
.cus-head h2{margin:0}.cus-bar{margin-top:10px}.cus-search{display:flex;gap:8px}.cus-search input{flex:1;min-width:0}
.cus-bar.desk{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cus-bar.desk .cus-search{width:280px}.cus-bar.desk .cus-chips{margin:0}
.cus-chips{margin:10px 0 2px;flex-wrap:nowrap;overflow-x:auto}.chip.dd{background:#fff6f7;border-color:#f1b6bd;color:#b71c2c}
.cus-meta{margin:8px 0;font-size:13px;color:var(--muted)}.cus-lab{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.4px;margin:12px 0 6px}
.cus-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.cus-c{padding:11px 13px;border-bottom:1px solid #eef0f3;cursor:pointer}.cus-c:last-child{border:0}
.cus-1{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cus-1 b{font-size:15px}.cus-n{margin-left:auto;font-weight:700;font-size:13px;background:#f0f2f5;border-radius:10px;padding:2px 8px}
.cus-tg{font-size:11px;font-weight:700;padding:2px 7px;border-radius:9px;background:#e3f5e9;color:#1d6b3a}.cus-tg.bad{background:var(--accent-tint);color:var(--accent-strong)}
.cus-2{display:flex;align-items:center;gap:4px;margin-top:3px;font-size:13px;color:#59626e}.cus-ph{color:var(--accent-mid);font-weight:700}.cus-new{margin-left:auto;color:var(--accent-mid);font-weight:700;font-size:13px}
.cus-3{display:flex;gap:12px;flex-wrap:wrap;margin-top:5px;font-size:13px;color:var(--muted)}.cus-3 b{color:var(--ink,#172b4d)}.cus-name a{margin-right:6px;font-weight:700}

/* 35.31: Báo cáo – 5 ô */
.rp-head h2{margin:0}.rp-month{min-width:170px}.rp-test{font-size:13px;margin-right:8px}
.rp-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}
.rp-t{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 12px;font:inherit;color:inherit;cursor:pointer;min-width:0}
.rp-t .l{font-size:12px;color:var(--muted)}.rp-t strong{font-size:18px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.rp-t small{font-size:12px;color:#8a93a0}.rp-t em{font-style:normal;font-weight:700;font-size:12px;color:var(--accent-mid)}
.rp-r strong{color:var(--accent-mid)}.rp-g strong{color:#1d6b3a}.rp-o strong{color:#a15c00}.rp-b strong{color:#1a4fa0}
.rp-t.sel{background:#172b4d;border-color:#172b4d}.rp-t.sel .l,.rp-t.sel small{color:#c9d1dc}.rp-t.sel strong{color:#fff}.rp-t.sel em{color:var(--accent-pale)}
.rp-tip{font-size:13px;margin:6px 0}.rp-warn{background:var(--accent-x-fff6f7);border-radius:8px;padding:7px 10px;font-size:13px;color:var(--accent-strong);margin:6px 0}
.rp-formula{display:flex;justify-content:space-between;gap:10px;background:#f5f6f8;border-radius:10px;padding:9px 12px;font-size:13px;margin:6px 0}
.rp-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:6px}.rp-r{padding:10px 12px;border-bottom:1px solid #eef0f3}.rp-r:last-child{border:0}.rp-r.click{cursor:pointer}.rp-r.click:hover{background:#fafbfc}
.rp-1{display:flex;justify-content:space-between;gap:8px}.rp-1 b{font-size:14px}.rp-v{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.rp-2{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:3px;font-size:13px;color:var(--muted)}.rp-r.rm-loss .rp-v{color:#b71c2c}
.rp-sum{display:flex;justify-content:space-between;border-top:2px solid #172b4d;padding-top:8px;margin-top:8px;font-weight:700}.rp-foot{margin-top:8px}
@media(max-width:720px){.rp-tiles{grid-template-columns:1fr 1fr}.rp-tiles .rp-t:last-child{grid-column:1/-1}.rp-t strong{font-size:16px}.rp-head .row.between{flex-wrap:wrap;gap:8px}}

/* 35.31: Danh sách Shop */
.sh-in{margin:10px 0 4px}.sh-in input{width:100%}.sh-lab{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.4px;margin:14px 0 6px}
.sh-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.sh-r{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #eef0f3;cursor:pointer}.sh-r:last-child{border:0}.sh-r:hover{background:#fafbfc}
.sh-av{width:36px;height:36px;border-radius:50%;background:var(--accent-tint);color:var(--accent-mid);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.sh-m{flex:1;min-width:0}.sh-1{display:flex;align-items:center;gap:6px}.sh-1 b{font-size:14px}.sh-1 mark{background:#fff3b0;border-radius:3px;padding:0}
.sh-2{font-size:13px;color:var(--muted);margin-top:2px}.sh-3{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.sh-3 .pill{font-size:11px;padding:2px 8px}
.sh-arr{color:#b0b6bf;font-size:20px}.sh-rec{flex-wrap:wrap}.sh-filter{margin:12px 0 8px}
.sh-back{display:inline-block;margin:0 0 10px;font-weight:700;color:var(--accent-mid)}
.sh-todo{background:#fff8e6;border:1px solid #f3dca6;border-radius:10px;padding:9px 12px;font-size:13px;margin-bottom:10px}.sh-todo b{color:#8a5a00}
.sh-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.sh-quick>div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 11px;min-width:0}
.sh-quick span{display:block;font-size:12px;color:var(--muted)}.sh-quick b{display:block;font-size:15px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sh-quick small{display:block;font-size:11px;color:#8a93a0}

/* 35.31: Bảng giá mẫu + Bảng giá Shop */
.pt-list{display:grid;gap:10px;margin-top:10px}.pt-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px}.pt-card h3{margin:0;font-size:15px;display:flex;gap:6px;align-items:center}
.pt-mini{font-size:13px;color:#59626e;margin:6px 0 8px}.pt-acts{flex-wrap:wrap;gap:6px}
.pt-tb{width:100%;border-collapse:collapse;margin-top:6px}.pt-tb th{text-align:left;color:var(--muted);font-size:12px;font-weight:600;padding:6px}.pt-tb td{padding:4px 6px;border-top:1px solid #f0f1f4;white-space:nowrap}
.pt-from{color:#8a93a0;width:90px}.pt-in{width:110px;text-align:right}.pt-x{border:0;background:transparent;color:#b0b6bf;font-weight:700;cursor:pointer;min-height:0}
.pt-addrow{align-items:center;gap:8px;margin:6px 0}.pt-step{background:#f5f6f8;border-radius:10px;padding:9px 12px;margin-top:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pt-step .pt-in{width:90px}
.pt-prev{background:#eef6ff;border-radius:10px;padding:9px 12px;margin-top:8px;font-size:13px}.pt-prev b{color:#1a4fa0}.pt-prev.muted{background:#f5f6f8}
.pt-use{background:#fff8e6;border:1px solid #f3dca6;border-radius:10px;padding:9px 12px;margin-top:10px;font-size:13px}.pt-use small{display:block;margin-top:2px}
.pt-rows{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:10px}
.pt-li{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #eef0f3;cursor:pointer}.pt-li:last-child{border:0}.pt-li:hover{background:#fafbfc}
.pt-n{flex:1;min-width:0}.pt-n b{display:block;font-size:14px}.pt-n small{display:block;color:var(--muted);font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-how{font-weight:700;font-size:13px;padding:4px 10px;border-radius:14px;white-space:nowrap}.pt-how.m{background:#eef4ff;color:#1a4fa0}.pt-how.m.diff{background:#fff3d6;color:#8a5a00}.pt-how.h{background:#e3f5e9;color:#1d6b3a}.pt-how.t{background:#f0f2f5;color:#59626e}
.pt-addsvc{margin-top:10px}
.pt-opts{display:grid;gap:8px;margin:8px 0 12px}.pt-opt{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;cursor:pointer}.pt-opt.on{border-color:#172b4d;background:#fafbfc}
.pt-rd{width:18px;height:18px;border-radius:50%;border:2px solid #c7ccd4;flex:0 0 auto;margin-top:1px}.pt-opt.on .pt-rd{border:6px solid #172b4d}.pt-opt b{display:block}.pt-opt small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.pt-tcs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.pt-tc{border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;max-width:260px}.pt-tc.on{border-color:#2563eb;background:#eef4ff}.pt-tc b{display:block;font-size:13px}.pt-tc small{display:block;font-size:12px;color:#59626e;margin-top:2px}
.pay-sum,.pay-sum:hover{border:1px solid var(--line)!important;background:#fafbfc!important;color:var(--ink,#172b4d)!important;box-shadow:none!important;min-height:0}
.cus-bar.desk select{width:auto;min-width:0;flex:0 0 auto}.cus-bar.desk .cus-chips{flex-wrap:wrap}
.rp-t,.rp-t:hover{min-height:0}
/* ================================================================ 35.32 */
/* Nút Quay lại kiểu A (hộp thoại + trang) */
#dialog-back,.back-a{display:inline-flex;align-items:center;gap:5px;background:var(--accent);color:#fff;border:0;border-radius:22px;padding:8px 15px 8px 11px;font-weight:700;font-size:14px;line-height:1.2;white-space:nowrap;box-shadow:0 2px 6px var(--accent-shadow);cursor:pointer;text-decoration:none;margin:0 12px 0 0;min-height:38px;flex:0 0 auto}
#dialog-back:hover,.back-a:hover{background:var(--accent-dark);color:#fff}
#dialog-back::before,.back-a::before{content:"‹";font-size:22px;line-height:.8;margin-top:-2px}
#dialog-back[hidden]{display:none}
.back-a{margin:0 0 12px}.rv-viewing .back-a{margin:0 0 0 6px;padding:4px 12px 4px 9px;min-height:30px;font-size:13px}
.dialog-head #close{width:38px;height:38px;border-radius:50%;background:#f2f3f5;border:0;color:#5b6573;font-size:16px;padding:0;flex:0 0 auto;display:grid;place-items:center}
.dialog-head #close:hover{background:#e6e8ec}
#dialog-title{min-width:0}#dialog-title .dt-main{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#dialog-title .dt-sub{font-size:14px;font-weight:500;color:var(--muted);margin-left:8px;white-space:nowrap}
#dialog-title .dt-sub::before{content:"· "}
@media (max-width:720px){
 .dialog-head{gap:10px;padding:12px}#dialog-back{margin:0}
 #dialog-title{font-size:18px;line-height:1.25;overflow:hidden}#dialog-title .dt-main{display:block}
 #dialog-title .dt-sub{display:block;margin:2px 0 0;font-size:13px;overflow:hidden;text-overflow:ellipsis}#dialog-title .dt-sub::before{content:none}
 .shop-page .sh-back{position:sticky;top:8px;z-index:3}
 body.shop-page-on header .shop{display:none}
}
/* Ô Shop đang xem: nút gọn + khung tìm */
.shop.has-pick{width:auto;min-width:250px;max-width:320px}.shop.has-pick>select{display:none}
.shop-pick{display:flex;align-items:center;gap:9px;width:100%;background:#fff;border:1.5px solid var(--field-line);border-radius:12px;padding:6px 10px;text-align:left;cursor:pointer;color:var(--ink);min-height:48px}
.shop-pick:hover,.shop-pick:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}
.sp-av{width:32px;height:32px;border-radius:50%;background:var(--accent-tint);color:var(--accent-mid);font-weight:700;font-size:12px;display:grid;place-items:center;flex:0 0 auto}.sp-av.test{background:#e8f0fe;color:#2753b8}
.sp-m{flex:1;min-width:0;display:flex;flex-direction:column}.sp-m small{font-size:11px;color:var(--muted);font-weight:600}.sp-m b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}
.sp-test{font-size:11px;font-weight:700;color:#2753b8;background:#e8f0fe;border-radius:8px;padding:1px 6px;flex:0 0 auto}
.sp-ar{color:var(--muted);font-size:13px;font-weight:600;white-space:nowrap}
.sp-ov{position:fixed;inset:0;z-index:60}.sp-ov.dim{background:rgba(23,43,77,.45)}
.sp-panel{position:fixed;background:#fff;border:1px solid #d6dae0;border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.16);padding:10px 0;display:flex;flex-direction:column;max-height:min(520px,75vh)}
.sp-panel.sheet{left:0;right:0;bottom:0;top:auto;border-radius:20px 20px 0 0;max-height:88vh;padding:8px 0 calc(10px + env(safe-area-inset-bottom))}
.sp-grab{width:44px;height:5px;border-radius:3px;background:#d6dae0;margin:0 auto 8px}
.sp-head{display:flex;justify-content:space-between;align-items:center;padding:0 16px 8px}.sp-head b{font-size:18px}.sp-x{border:0;background:#f2f3f5;border-radius:50%;width:34px;height:34px}
.sp-q{margin:0 12px 6px;width:auto;border:2px solid #172b4d;border-radius:11px;padding:10px 12px;font-size:15px}
.sp-list{overflow:auto;flex:1}
.sp-lab{font-size:12px;font-weight:700;letter-spacing:.4px;color:var(--muted);padding:10px 16px 4px;text-transform:uppercase}
.sp-op{display:flex;align-items:center;gap:10px;width:100%;padding:8px 16px;border:0;background:none;text-align:left;cursor:pointer;color:var(--ink)}
.sp-op:hover{background:#f6f7f9}.sp-op.on{background:var(--accent-soft)}.sp-op.on b{color:var(--accent-text)}.sp-op small{font-size:12px;color:var(--muted)}
.sp-ck{color:var(--accent);font-weight:700}.sp-op mark{background:#fff3b0;border-radius:3px;color:inherit}
.sp-none{padding:14px 16px;color:var(--muted)}
@media (max-width:720px){.shop.has-pick{max-width:none;width:100%;min-width:0}}
/* Tiền Shop chưa chi (hộp thoại từ Trang chủ) */
.up-sub{margin:0 0 10px}.up-sum{display:flex;gap:8px;margin-bottom:10px}.up-sum div{flex:1;background:#f7f8fa;border-radius:9px;padding:8px 12px}.up-sum span{display:block;font-size:12px;color:var(--muted)}.up-sum b{font-size:18px}
.up-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.up-it{border-top:1px solid var(--line);padding:11px 2px}.up-it .r1{display:flex;justify-content:space-between;align-items:center}.up-it .r1 b{font-size:15px}
.up-days{font-size:12px;font-weight:700;border-radius:10px;padding:2px 9px;background:#fff3d6;color:#8a5a00}.up-days.bad{background:var(--accent-tint);color:var(--accent-strong)}
.up-it .r2{font-size:13px;color:var(--muted);margin-top:2px}.up-it .r3{font-size:13px;margin-top:6px;background:#f7f8fa;border-radius:7px;padding:6px 9px}
.up-it .r4{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.up-it .r4 b{font-size:15px}
/* Đối soát chọn hãng */
.rv-cars{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.rv-car{display:flex;align-items:center;gap:8px;border:1.5px solid var(--field-line);background:#fff;border-radius:10px;padding:8px 16px;font-weight:700;font-size:14px;cursor:pointer;color:var(--ink)}
.rv-car.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}
.rv-car i{font-style:normal;background:var(--accent);color:#fff;border-radius:9px;font-size:11px;padding:1px 7px}
.rv-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:#8a93a0}.rv-dot.car-vtp{background:#e30613}.rv-dot.car-ghn{background:#f26522}.rv-dot.car-spx{background:#ee4d2d}
.rv-empty{border:1px dashed var(--field-line);border-radius:12px;padding:20px 18px;text-align:center;margin:14px 0}.rv-empty b{display:block;font-size:16px;margin-bottom:6px}.rv-empty p{color:var(--muted);margin:0;line-height:1.5}
.rv-cinfo{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#f7f8fa;border-radius:9px;padding:10px 14px;font-size:14px}
@media (max-width:720px){.rv-cars{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px}.rv-car{justify-content:center;padding:8px 6px;font-size:13px}}
/* Nhân viên */
.st-split{display:flex;gap:14px;align-items:flex-start}.st-split .st-left{flex:1.4;min-width:0}.st-split .st-right{flex:1;min-width:340px;position:sticky;top:12px}
.st-bar{display:flex;gap:8px;align-items:center;margin-bottom:10px}.st-q{flex:1;min-width:0}
.st-chips{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.st-table td{white-space:nowrap;vertical-align:middle}.st-table tr{cursor:pointer}.st-table tr:hover td{background:#fafbfc}
.st-table tr.sel td{background:#fff6f6}.st-table tr.sel td:first-child{box-shadow:inset 3px 0 var(--accent)}.st-table tr.off td{color:#9aa3ad}
.st-who{display:flex;gap:10px;align-items:center}.st-who b{display:block}.st-who small{color:var(--muted)}
.st-av{width:38px;height:38px;border-radius:50%;background:var(--accent-tint);color:var(--accent-mid);font-weight:700;font-size:13px;display:grid;place-items:center;flex:0 0 auto}.st-av.off{background:#eef0f3;color:#8a93a0}.st-av.big{width:48px;height:48px;font-size:16px}
.st-role{display:inline-block;font-size:12px;font-weight:700;border-radius:10px;padding:2px 9px;background:#e8f0fe;color:#2753b8;white-space:nowrap}.st-role.off{background:#eef0f3;color:#55606d}
.st-can{display:flex;gap:4px;flex-wrap:wrap}.st-can span{font-size:12px;font-weight:700;border-radius:6px;padding:2px 7px;background:#eef0f3;color:#55606d;white-space:nowrap}.st-can .w{background:#fff3d6;color:#8a5a00}
.st-pill{display:inline-block;font-size:12px;font-weight:700;border-radius:10px;padding:2px 9px;margin-left:4px;white-space:nowrap}.st-pill.ok{background:var(--ok-bg);color:var(--ok-text)}.st-pill.off{background:#eef0f3;color:#55606d}.st-pill.warn{background:#fff3d6;color:#8a5a00}
.st-c{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--line);padding:11px 4px;cursor:pointer;color:var(--ink)}.st-c:last-child{border-bottom:0}.st-c .m{flex:1;min-width:0}
.st-c .l1{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.st-c .l1 b{font-size:15px}.st-c.off .l1 b{color:#9aa3ad}.st-c small{display:block;color:var(--muted);font-size:13px;margin-top:2px}.st-c .arr{color:#b0b6bf;font-size:20px}
.st-head{display:flex;gap:12px;align-items:center;margin-bottom:6px}.st-head h2{margin:0;font-size:20px}.st-head small{color:var(--muted)}
.st-sec{border-top:1px solid var(--line);padding:12px 0}.st-sec h4{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.4px;color:var(--muted);text-transform:uppercase;margin:0 0 8px}
.st-sec h4 .text{text-transform:none;letter-spacing:0;font-size:13px;color:var(--accent-text);font-weight:700}
.st-kv{display:grid;grid-template-columns:100px 1fr;gap:6px 10px;font-size:14px}.st-kv span{color:var(--muted)}.st-kv b{word-break:break-word}
.st-roles{display:flex;gap:6px;flex-wrap:wrap}.st-rb{border:1.5px solid var(--field-line);border-radius:9px;padding:6px 12px;font-weight:700;background:#fff;cursor:pointer;color:var(--ink)}.st-rb.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.st-rb.custom{cursor:default}
.st-yes{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;font-size:14px;margin-top:10px}.st-yes div{display:flex;gap:6px}.st-yes .y::before{content:"✓";color:#1d6b3a;font-weight:700}.st-yes .n{color:#a5adb8}.st-yes .n::before{content:"–";font-weight:700}.st-yes .y.w{color:#8a5a00}
.st-perm-edit{margin-top:10px;display:grid;gap:8px}.st-pe{display:flex;gap:8px;align-items:flex-start;padding:4px 0}.st-pe small{display:block;color:var(--muted)}
.st-tg{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:8px;font-weight:600}.st-tg input{position:absolute;opacity:0;width:1px;height:1px}
.st-tg i{width:38px;height:22px;border-radius:11px;background:#cfd4db;position:relative;transition:.15s}.st-tg i::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.15s}
.st-tg input:checked+i{background:#1d9a5b}.st-tg input:checked+i::after{left:18px}.st-tg input:focus-visible+i{box-shadow:0 0 0 3px var(--accent-ring)}
.st-shops{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.st-shop{display:inline-flex;align-items:center;gap:4px;background:#eef0f3;border-radius:14px;padding:4px 4px 4px 11px;font-size:13px;font-weight:600}
.st-shop button{border:0;background:none;width:22px;height:22px;border-radius:50%;cursor:pointer;color:#55606d}.st-shop button:hover{background:#dfe2e7}
.st-add{min-width:170px}.st-add .ss-btn{border-style:dashed;color:var(--accent-text);font-weight:700}
.st-all-note{margin:0}
.st-acts{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}.st-acts .st-lock{margin-left:auto}
.st-steps{display:flex;gap:6px;margin-bottom:8px}.st-steps span{flex:1;height:4px;border-radius:2px;background:#d6dae0}.st-steps .on{background:var(--accent)}
.st-step-t{font-size:12px;font-weight:700;letter-spacing:.4px;color:var(--muted);text-transform:uppercase;margin:12px 0 6px}
.st-rcards{display:grid;gap:8px}.st-rc{display:block;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;color:var(--ink)}
.st-rc.on{border-color:var(--accent);background:var(--accent-hover2)}.st-rc b{display:flex;justify-content:space-between;font-size:15px}.st-rc .st-dot{color:var(--accent)}.st-rc small{display:block;color:var(--muted);margin-top:3px;line-height:1.45}
.st-foot{margin-top:12px}
@media (max-width:1100px){.st-page{padding-top:12px}.st-kv{grid-template-columns:90px 1fr}.st-yes{grid-template-columns:1fr}.st-acts>button{flex:1}.st-acts .st-lock{margin-left:0}.st-bar .primary{white-space:nowrap}}
/* Đổi mật khẩu lần đầu */
#force-pw{position:fixed;inset:0;background:var(--bg);z-index:80;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:40px 16px}
.fp-card{max-width:440px;width:100%}.fp-logo{display:block;height:44px;width:auto;margin:0 0 14px}.fp-card h2{margin:0 0 6px}.fp-out{margin-top:10px}
.st-pe{flex-wrap:nowrap!important;flex-direction:row!important}.st-pe>span{flex:1;min-width:0}.st-pe>input{flex:0 0 auto;margin-top:2px}
.st-tg{flex-direction:row!important;justify-content:flex-start!important;width:auto!important;display:inline-flex!important}
@media (max-width:1100px){.st-acts>button{flex:1 1 auto;white-space:nowrap}.st-acts .st-save{flex-basis:100%}}
.st-kv{grid-template-columns:minmax(90px,max-content) 1fr}
/* 35.32.1: Bảng kê chi trả gọn */
.sk-sum{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.sk-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.sk-t span{display:block;font-size:13px;color:var(--muted)}.sk-t b{font-size:24px;line-height:1.2}
.sk-eq{margin-top:6px;font-size:13px;color:#55606d;line-height:1.7}.sk-eq b{color:var(--ink)}
.sk-cnt{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.sk-cnt span{font-size:12px;font-weight:700;border-radius:10px;padding:3px 9px}
.sk-cnt .ok{background:var(--ok-bg);color:var(--ok-text)}.sk-cnt .bad{background:var(--accent-tint);color:var(--accent-strong)}.sk-cnt .wt{background:#fff3d6;color:#8a5a00}
.sk-ops{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.sk-ops>a{font-weight:700}
.sk-pay{margin-top:8px}.sk-pl{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;color:var(--ink);font-size:14px}
button.sk-pl{cursor:pointer}.sk-pl b{display:block}.sk-pl small{display:block;color:var(--muted);font-size:12px;margin-top:1px}.sk-pl em{font-style:normal;color:var(--accent-text);font-weight:700;white-space:nowrap;font-size:13px}
.sk-pay .table-wrap,.sk-pay>table{margin-top:8px}
.sk-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:12px 0 8px}.sk-q{margin-left:auto;min-width:200px;max-width:280px}
.sk-cards{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.sk-ln{padding:10px 12px;border-top:1px solid #eef0f3;cursor:pointer}.sk-ln:first-child{border-top:0}.sk-ln.on{background:#fffafa}.sk-ln.off{opacity:.5}
.sk-ln .a{display:flex;justify-content:space-between;align-items:center;gap:8px}.sk-ln .a b{font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;flex:1}
.sk-ln .k{font-size:15px;font-weight:700;white-space:nowrap}.neg,.sk-ln .k.neg{color:var(--accent-mid)}
.sk-ln .b{font-size:13px;color:var(--muted);margin-top:2px}.sk-ln .c{font-size:12px;color:#55606d;margin-top:4px;background:#f7f8fa;border-radius:6px;padding:4px 8px}
.sk-det{display:grid;grid-template-columns:1fr auto;gap:5px 10px;font-size:13px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.sk-det .l{color:var(--muted)}.sk-det b.l{color:var(--ink)}
.sk-det .v{text-align:right}.sk-det .sk-open{grid-column:1/-1;color:var(--accent-text);font-weight:700;margin-top:4px}
.sk-tag{font-size:11px;font-weight:700;border-radius:6px;padding:1px 6px;white-space:nowrap}.sk-tag.p{background:#e8f0fe;color:#2753b8}.sk-tag.a{background:#fff3d6;color:#8a5a00}.sk-tag.o{background:#eef0f3;color:#55606d}
.sk-ck{width:18px;height:18px;flex:0 0 auto}
.sk-table td,.sk-table th{white-space:nowrap}.sk-table .r{text-align:right}.sk-table small{display:block}.sk-table tr.off td{opacity:.5}
.sk-code{display:flex;align-items:center;gap:6px}.sk-code a{font-weight:700;color:var(--ink)}.sk-total td{background:#fafbfc}
.sk-more{margin-top:8px;width:100%}
.dialog-head #close:focus:not(:focus-visible){outline:none}
@media (max-width:720px){.sk-q{margin-left:0;min-width:0;max-width:none;width:100%;order:9}.sk-ops>button,.sk-ops>a{flex:1 1 auto;text-align:center}}
/* 35.32.2: hàng nút Hành trình · In đơn · Khác không đệm thừa; hộp thoại mở không viền focus */
.od-acts>details.od-menu{margin:0}
#dialog:focus{outline:none}
/* 35.32.2: Chờ lên bảng kê làm lại */
.pk-top{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.pk-head{display:flex;align-items:center;gap:14px;flex:1;min-width:260px}
.pk-head h2{margin:0;font-size:18px;flex:1}.pk-big{text-align:right}.pk-big b{display:block;font-size:22px;line-height:1.2}.pk-big b.pos{color:#1d6b3a}.pk-big small{color:var(--muted);font-size:13px}
.pk-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pk-subs{display:flex;gap:8px;flex-wrap:wrap}
.pk-main{display:flex;flex-direction:column;align-items:center;line-height:1.25;padding:9px 16px}.pk-main small{font-size:12px;font-weight:600;opacity:.92}
.pk-warn{display:flex;align-items:center;gap:8px;width:100%;margin-top:12px;background:var(--accent-hover);border:1px solid var(--accent-x-f3c2c6);border-radius:10px;padding:8px 12px;font-size:14px;color:var(--accent-strong);text-align:left;cursor:pointer}.pk-warn b{margin-left:auto;white-space:nowrap}
.pk-card .pk-list{margin-top:12px}.pk-pick{margin-top:12px}
@media (max-width:720px){.pk-top{display:block}.pk-head{min-width:0}.pk-head h2{font-size:16px}.pk-big b{font-size:20px}
 .pk-acts{display:block;margin-top:10px}.pk-main{width:100%;font-size:15px}.pk-subs{margin-top:8px}.pk-subs>button{flex:1 1 0;padding:9px 4px;font-size:13px;white-space:nowrap}}
/* 35.32.2: Bảng kê gộp Tiền đã chuyển cho Shop */
.sb-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.sb-head h2{margin:0}
.sb-f{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sb-per{width:auto;min-width:150px}.sb-custom{display:flex;gap:6px;align-items:center}.sb-custom[hidden]{display:none}.sb-custom input{width:auto}
.sb-strip{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:12px}
.sb-strip>div{padding:10px 14px;border-left:1px solid #eef0f3}.sb-strip>div:first-child{border-left:0}.sb-strip .g{background:#f2fbf6}.sb-strip span{display:block;font-size:12px;color:var(--muted)}
.sb-strip b{font-size:18px}.sb-strip .g b{color:#1d6b3a}.sb-strip b.w{color:#8a5a00}
.sb-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.sb-st{display:inline-block;font-size:12px;font-weight:700;border-radius:10px;padding:2px 9px;white-space:nowrap}.sb-paid{background:var(--ok-bg);color:var(--ok-text)}.sb-locked{background:#fff3d6;color:#8a5a00}
.sb-draft{background:#eef0f3;color:#55606d}.sb-carried{background:#e8f0fe;color:#2753b8}.sb-bad{background:var(--accent-tint);color:var(--accent-strong)}
.sb-late{color:var(--accent-mid);font-weight:700;margin-left:6px}
.sb-table td,.sb-table th{white-space:nowrap}.sb-table .r{text-align:right}.sb-table tbody tr{cursor:pointer}.sb-table tbody tr:hover td{background:#fafbfc}
.sb-table tr.hot td,.sb-table tr.dis td{background:#fff7f7}.sb-table tr.dis td:first-child{box-shadow:inset 3px 0 var(--accent-bright)}
.sb-acts{display:inline-flex;gap:6px;justify-content:flex-end}
.sb-v{background:var(--accent-soft)!important;color:var(--accent-text)!important;border:1.5px solid var(--accent-x-f0b9be)!important;border-radius:9px;padding:5px 11px;font-weight:700;font-size:13px}
.sb-x{display:inline-flex;align-items:center;gap:5px;background:#eef8f1;color:#1d6f42!important;border:1.5px solid #b9dfc6;border-radius:9px;padding:5px 11px;font-weight:700;font-size:13px;text-decoration:none;white-space:nowrap}
.sb-xl{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:3px;background:#1d6f42;color:#fff;font-size:10px;font-weight:700;font-style:normal}
.sb-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.sb-r{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:#fff;border:0;border-top:1px solid #eef0f3;padding:11px 12px;cursor:pointer;color:var(--ink)}.sb-r:first-child{border-top:0}
.sb-r.hot,.sb-r.dis{background:#fff7f7}.sb-r.dis{box-shadow:inset 3px 0 var(--accent-bright)}
.sb-r .m{flex:1;min-width:0;display:block}.sb-r .a{display:flex;justify-content:space-between;gap:8px}.sb-r .a b{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-r .k{flex:0 0 auto;font-size:15px}.sb-r .k.neg{color:var(--accent-mid)}
.sb-r .b{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:4px;font-size:13px;color:var(--muted)}.sb-r .b .sb-late{margin-left:0}.sb-r .arr{color:#b0b6bf;font-size:20px}
.cr-r{border-top:1px solid #eef0f3;padding:10px 0;margin-top:10px}.cr-r .a{display:flex;justify-content:space-between;gap:8px;font-size:14px}.cr-r .b{font-size:13px;color:var(--muted);margin-top:3px}
.cr-r.dis{background:#fff7f7}.cr-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;align-items:center}.cr-tk{color:var(--accent-text);font-weight:700}
@media (max-width:720px){.sb-strip{grid-template-columns:1.6fr 1fr 1fr}.sb-strip>div{padding:9px 10px}.sb-strip b{font-size:15px}.sb-head{margin-bottom:8px}.cr-acts>button{flex:1 1 auto}}
.pk-top>.pk-head{order:1}.pk-top>.pk-acts{order:2}.pk-top>.pk-warn{order:3;flex-basis:100%;margin-top:0}
@media (max-width:720px){.pk-top>.pk-warn{margin-top:10px}}

/* 35.32.3 Shop của tôi: danh sách mục (tóm tắt 1 dòng) + nội dung */
.ms-sh{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;gap:12px;align-items:center}.ms-sh b{display:block;font-size:18px}.ms-sh small{color:var(--muted);font-size:13px}
.ms-grp{font-size:12px;font-weight:700;letter-spacing:.4px;color:var(--muted);padding:14px 4px 6px;text-transform:uppercase}
.ms-lst{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ms-it{display:flex;gap:12px;align-items:center;width:100%;text-align:left;border:0;border-top:1px solid #eef0f3;border-radius:0;background:none;padding:11px 14px;min-height:58px;font-weight:400}.ms-it:first-child{border-top:0}
.ms-it:hover{background:var(--accent-hover)}.ms-it.on{background:var(--accent-soft)}.ms-it.on b{color:var(--accent-text)}
.ms-it .m{flex:1;min-width:0}.ms-it b{display:block;font-size:14px}.ms-it small{display:block;color:var(--muted);font-size:13px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-it .arr{color:#b0b6bf;font-size:20px}
.ms-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:16px;flex:0 0 auto}.ms-ic.c1{background:var(--accent-tint)}.ms-ic.c2{background:#e8f0fe}.ms-ic.c3{background:#e3f5e9}.ms-ic.c4{background:#fff3d6}.ms-ic.c5{background:#f1e8fd}.ms-ic.c6{background:#eef0f3}
.ms-warn{color:var(--warn-text);font-weight:700}.ms-wait{color:var(--warn-text)}
.ms-split{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}.ms-left{position:sticky;top:12px}.ms-left .ms-it .arr{display:none}.ms-right>.card:first-child,.ms-right>section:first-child{margin-top:0}
.ms-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px;font-size:18px}
.ms-ok{background:var(--ok-bg);color:var(--ok-text);font-size:12px;font-weight:700;border-radius:10px;padding:2px 9px}
.ms-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.ms-note{font-size:13px;margin:10px 0 0}.ms-pend{background:var(--warn-bg);color:var(--warn-text);border-radius:8px;padding:8px 10px;font-size:13px;margin:10px 0 0}
.ms-back{margin:0 0 12px}
@media(max-width:720px){.ms-acts>button{flex:1}.ms-hub .ms-grp{padding-left:2px}}
.ms-right input[type=checkbox],.ms-split~* input[type=checkbox],#content .card input[type=checkbox]{flex:0 0 auto}
.ms-mob .ms-sec>.card:first-child{margin-top:0}
/* 35.33.1 Vận đơn điện thoại: hàng chip ẩn bằng cách trượt lên sau ô tìm kiếm – chiều cao đầu trang không đổi nên danh sách không giật, hết nhấp nháy khi lướt */
.m-head{background:transparent;border-bottom:0;padding:0;pointer-events:none}.m-head>*{pointer-events:auto}
.m-search{background:var(--surface);padding:8px 12px 6px;position:relative;z-index:2}
.m-chips{background:var(--surface);padding:2px 12px 6px;border-bottom:1px solid var(--line);position:relative;z-index:1;transition:transform .2s ease,opacity .2s ease}
.m-head.hide-chips .m-chips{display:flex;transform:translateY(-100%);opacity:0;pointer-events:none}
.m-head.hide-chips .m-search{box-shadow:0 1px 0 var(--line)}
.m-top{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.m-top:hover,.m-top:focus,.m-top:focus-visible{background:#27313dcc;color:#fff;border:0;outline:none}.m-top:active{background:#27313d;color:#fff}
/* 35.38: Tạo đơn – nền nhóm xám nhạt, ô nhập trắng cho dễ nhìn (cách A) */
.create-form .create-group{background:#edf0f4;border-color:#dfe4ea}
.create-form .create-group input:not([type=checkbox]):not([type=radio]),.create-form .create-group select,.create-form .create-group textarea,.create-form .create-group .ss-btn{background:#fff;border-color:#c3cad4}
.create-form .create-group input:disabled,.create-form .create-group select:disabled,.create-form .create-group .ss-btn:disabled{background:#f6f7f9}
/* 35.38: mở lại tab – phần cố định hiện ngay, số liệu "Đang tải…" */
#content.is-shell .shell-wait{padding:18px 16px}
/* 35.40: Đơn chờ đẩy (Admin) */
.pq-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}.pq-filter .of-field{min-width:0}.pq-filter .pq-in{width:160px}.pq-filter select.of-field{width:auto;max-width:220px}.pq-nr{display:flex;gap:6px;align-items:center;font-size:13px;white-space:nowrap}
.pq-tools{flex-wrap:wrap}.pq-tools select.of-field{width:auto;max-width:260px}
.pq-opts{display:grid;gap:4px;min-width:250px}.pq-opt{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer;background:#fff;text-align:left;width:100%;font-weight:500;color:inherit}
.pq-opt span{flex:1}.pq-opt.on{border-color:var(--accent);background:var(--accent-soft)}.pq-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid #98a2b3;flex:none}.pq-opt.on .pq-dot{border-color:var(--accent);background:var(--accent)}
.pq-bad summary{font-size:12px;color:var(--muted,#6b7785);cursor:pointer}
.pq-info{margin-left:auto}.push-note{margin:4px 0 0}

/* 35.41: Đại lý */
.ag-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}.ag-bar .of-field{width:auto;min-width:180px}.ag-right{margin-left:auto}
.agent-tag{display:inline-block;font-size:11px;font-weight:700;background:#f1ecff;color:#5b3fb5;border-radius:10px;padding:2px 8px;margin-left:6px;vertical-align:middle}
/* 35.42: Kết nối hãng của đại lý */
.ac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:12px 0}.ac-card{display:flex;flex-direction:column;gap:10px}
.ac-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.ac-head h3{margin:0}.ac-sub{margin:8px 0 0;font-size:14px}
.ac-kv{display:grid;grid-template-columns:1fr;gap:4px}.ac-kv>span{font-size:13px;font-weight:600;color:var(--muted,#6b7785)}.ac-kv code,.ac-ro code{background:#f6f7f9;border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:13px;word-break:break-all}
.ac-kv button{justify-self:start}.ac-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ac-ok{color:#236c55;font-weight:600}.ac-ro{display:flex;gap:8px;align-items:center;margin:10px 0}.ac-ro code{flex:1;font-size:14px}
/* 35.43: màn chờ lúc mở trang (thay form đăng nhập chớp lên) */
.splash{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--bg,#f6f7f9)}
.splash[hidden]{display:none}.splash-logo{height:54px;width:auto}.splash-t{color:var(--muted)}
.splash-spin{width:28px;height:28px;border:3px solid #f3c2c6;border-top-color:var(--accent);border-radius:50%;animation:spl 0.8s linear infinite}
@keyframes spl{to{transform:rotate(360deg)}}
.splash-err{margin-top:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 20px;text-align:center;max-width:360px;width:calc(100% - 32px)}
.splash-err p{color:var(--muted);margin:6px 0 12px}.splash-err[hidden]{display:none}
/* 35.43: menu trái – không cuộn ngang, thanh cuộn dọc mảnh, chữ dài thì "…", logo + khối tài khoản gọn */
#nav{overflow-x:hidden;min-width:0;scrollbar-width:thin;scrollbar-color:transparent transparent}
#sidebar:hover #nav{scrollbar-color:#cfd5dc transparent}
#nav::-webkit-scrollbar{width:6px}#nav::-webkit-scrollbar-button{display:none;height:0}#nav::-webkit-scrollbar-thumb{background:transparent;border-radius:6px}
#sidebar:hover #nav::-webkit-scrollbar-thumb{background:#cfd5dc}#nav::-webkit-scrollbar-track{background:transparent}
#nav button,#nav .nav-top,#nav .nav-head{min-width:0;max-width:100%;box-sizing:border-box}
#nav button>span:not(.nav-count):not(.nav-ico):not(.nav-arrow){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
#nav .nav-kids{min-width:0}
.brand{margin-bottom:6px;padding:4px 10px}.brand-logo{height:40px}
#sidebar footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 4px 0}
#sidebar footer button.identity{padding:6px;min-width:0}#sidebar footer button.identity b,#sidebar footer button.identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sidebar footer #logout{padding:6px 10px;min-height:0;font-size:12px}
/* 35.43: ô chọn cùng một kiểu (ô chọn thường và ô chọn có tìm) */
select:not([multiple]){appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6z' fill='%237a8490'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 11px center!important;background-size:9px 6px!important;padding-right:30px!important;font-weight:500}
select:not([multiple]):disabled{background-color:#f5f6f8;cursor:not-allowed}
.ss-btn::after{content:"";width:9px;height:6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6z' fill='%237a8490'/%3E%3C/svg%3E") no-repeat center/9px 6px;right:11px}
.create-form select,.create-form .ss-btn{min-height:40px}
/* 35.43: dịch vụ cộng thêm dạng tag */
.ex-src{display:none!important}
.ex-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:40px}
.ex-chip{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft);color:var(--accent-text);border:1px solid #f3c2c6;border-radius:999px;padding:4px 5px 4px 11px;font-size:13px;font-weight:600}
.ex-chip button{width:20px;height:20px;min-height:0;padding:0;border:0;border-radius:50%;background:#f8d7da;color:var(--accent-text);font-size:11px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.ex-add{border:1px dashed var(--accent)!important;color:var(--accent-text);background:#fff;border-radius:999px;padding:4px 12px;min-height:0;font-size:13px;font-weight:700}
/* 35.43: màn Đơn chờ đẩy */
body.no-shop-pick header .shop,body.no-shop-pick #shop-pick,body.no-shop-pick #viewas-btn{display:none!important}
.pq-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.pq-tile{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-align:left;display:grid;gap:2px;min-height:0;font-weight:500}
.pq-tile span{font-size:13px;color:var(--muted)}.pq-tile b{font-size:22px}.pq-tile.on{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}
.pq-tile.r b{color:var(--danger,#b9202d)}.pq-tile.w b{color:#975d0f}
.pq-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;position:relative}.pq-row>input{flex:1 1 220px;max-width:280px}.pq-row>select,.pq-row .ss{width:auto;min-width:170px;max-width:240px}
.pq-more{position:relative}.pq-more>button{display:flex;align-items:center;gap:6px}.pq-more>button b{background:var(--accent);color:#fff;border-radius:10px;font-size:11px;padding:0 6px}
.pq-pop{position:absolute;z-index:20;top:calc(100% + 6px);right:0;width:340px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #1f293726;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pq-pop .full{grid-column:1/-1}.pq-pop[hidden]{display:none}
.pq-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#27313d;color:#fff;border-radius:10px;padding:8px 10px 8px 16px;margin:14px 0}
.pq-bar>b{margin-right:6px}.pq-bar button,.pq-bar select{min-height:34px;padding:6px 12px;border-radius:7px;border:0;width:auto}.pq-bar .x{background:transparent;color:#cfd5dc;margin-left:auto}
.pq-bar[hidden]{display:none}.pq-warn{background:#fff2df;color:#975d0f;border-radius:8px;padding:10px 14px;display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.pq-warn button{margin-left:auto}
.pq-empty{text-align:center;padding:36px 20px}.pq-empty h3{margin:0 0 6px}.pq-empty p{color:var(--muted);margin:0 0 14px}
@media(max-width:720px){.pq-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.pq-row>input,.pq-row>select{max-width:none;flex:1 1 100%}}
.pq-bar select{flex:0 0 auto;width:auto;max-width:220px;background-color:#fff}
.splash.err .splash-spin,.splash.err .splash-t{display:none}
@media(max-width:720px){.pq-opts{min-width:0;width:100%}.pq-opt{min-width:0}.pq-opt span{min-width:0;overflow-wrap:anywhere}}
.pq-row>input{flex:1 1 180px;max-width:240px}.pq-row>select,.pq-row .ss{min-width:150px;max-width:210px}.pq-row>button.text:last-child{margin-left:auto}

/* ================================================================ 35.45: giao diện thống nhất mọi màn
   Chữ Inter đóng gói kèm app (OFL, fonts/OFL.txt) · bảng màu chung · 3 cỡ đậm (400/600/700) · nút / thông báo / bảng / ô số liệu / thanh lọc một kiểu. */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-400.woff) format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-500.woff) format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-600.woff) format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:700 900;font-display:swap;src:url(fonts/inter-700.woff) format('woff')}
:root{--ink:#1f2933;--ink2:#3e4a57;--muted:#6b7684;--line:#e4e7ec;--line2:#eef0f3;--field-line:#cfd5dc;--bg:#f5f6f8;--surface:#fff;
--ok-bg:#e8f5ef;--ok-text:#1f6b50;--warn-bg:#fff4e0;--warn-text:#8a5a0f;--bad-bg:#fdecee;--bad-text:#a61d2a;--run-bg:#e9f0fd;--run-text:#2b54b0;
--none-bg:#f0f2f5;--none-text:#55606d;--info-bg:#eef4fd;--info-text:#2b4f8f;--danger:#a61d2a;--danger-dark:#86141f;--danger-soft:#fdecee;--danger-line:#f0b8be;
font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;font-size:14px}
body{color:var(--ink);-webkit-font-smoothing:antialiased}
/* đầu trang: mục nhỏ + tên trang 20px */
header{padding:14px 28px;min-height:68px}
header h1,#title{font-size:20px;font-weight:700;letter-spacing:-.2px;line-height:1.25}
header .eyebrow{display:block!important;font-size:0;margin:0 0 2px;color:var(--muted)}
header .eyebrow span{font-size:11px;font-weight:700;letter-spacing:.6px}
/* thẻ */
.card{border-radius:12px;border-color:var(--line);box-shadow:none;padding:18px 20px}
.card h2,.card>h2{font-size:15px;font-weight:700;margin-bottom:12px;letter-spacing:0}
.card h3{font-size:14px;font-weight:700}
.card h2.dup-title{display:none}
/* chữ */
label{font-size:13px;font-weight:600;color:var(--ink2)}label.check{color:var(--ink);font-size:14px}
.muted{color:var(--muted)}small{font-size:12px}
/* nút: chính (đỏ) · phụ (viền xám) · chữ (xám đậm). Chữ đỏ chỉ cho thao tác xóa / hủy */
button{min-height:38px;padding:8px 14px;border-radius:8px;border-color:var(--field-line);font-weight:600;color:var(--ink)}
button:hover{border-color:#98a2b3;background:#f7f8fa}
.primary{min-height:38px;padding:8px 16px;font-weight:700}
.text{color:var(--ink2);border-color:transparent}.text:hover{background:#f0f2f5;color:var(--ink);border-color:transparent}
.danger{color:var(--danger);border:1px solid var(--danger-line)}.danger::before{content:none}
.danger:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}
td button{min-height:32px;padding:5px 11px;font-size:13px}
/* ô nhập */
input,select,textarea{border-color:var(--field-line);border-radius:8px;padding:9px 12px}
input[type=search],input.srch{padding-left:34px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a94a0' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") no-repeat 11px 50%/15px}
/* thông báo: thông tin xanh · cần chú ý vàng · lỗi đỏ */
.info{background:var(--info-bg);color:var(--info-text);padding:10px 14px;border-radius:10px;line-height:1.5}
p.warn,div.warn,.pq-warn{background:var(--warn-bg);color:var(--warn-text);padding:10px 14px;border-radius:10px}
.error{color:var(--bad-text);background:var(--bad-bg);border-radius:10px}
small.error,span.error,small.warn,span.warn{background:none;padding:0}
small.warn,span.warn{color:var(--warn-text)}small.error,span.error{color:var(--bad-text)}
/* nhãn trạng thái dùng chung */
.badge{border-radius:10px;padding:2px 9px;font-size:12px;font-weight:700;line-height:1.5;background:var(--none-bg);color:var(--none-text)}
.badge.tone-ok,.pill.ok{background:var(--ok-bg);color:var(--ok-text)}.badge.tone-warn,.badge.warn,.pill.warn{background:var(--warn-bg);color:var(--warn-text)}
.badge.tone-bad{background:var(--bad-bg);color:var(--bad-text)}.badge.tone-run{background:var(--run-bg);color:var(--run-text)}
.badge.tone-none{background:var(--none-bg);color:var(--none-text)}.badge.tone-info{background:var(--info-bg);color:var(--info-text)}
/* bảng: tiêu đề cột xám nhỏ, không nền; số canh phải */
table{font-size:14px}
th{background:transparent;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:0;border-bottom:1px solid var(--line)}
@media(min-width:721px){td,th{padding:11px 12px}tr:last-child>td{border-bottom:0}}td{border-bottom-color:var(--line2)}
td.num,th.num,td.r,th.r{text-align:right;font-variant-numeric:tabular-nums}
.code{font-variant-numeric:tabular-nums}
/* ô số liệu: 1 kiểu; ô đang chọn viền đỏ */
.stats{gap:12px}
.stat,.pq-tile{border:1px solid var(--line);border-radius:12px;box-shadow:none;padding:12px 14px;background:var(--surface)}
.stat:first-child{border-top-color:var(--line)}
.stat span,.pq-tile span{font-size:13px;color:var(--muted);margin-bottom:4px}
.stat strong,.pq-tile b{font-size:22px;font-weight:700;letter-spacing:-.3px}
.stat.on,.pq-tile.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--surface)}
.status-tile.on{background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent);border-top-color:var(--accent)}
/* thanh lọc */
.of-field{min-height:38px}
.chip{border-color:var(--line);color:var(--ink2);font-weight:600}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
/* menu trái */
#nav a,#nav button{font-size:14px}
@media(max-width:720px){
header{padding:12px 16px;min-height:0}header h1,#title{font-size:18px}header .eyebrow{display:none!important}
.card{padding:14px}
button{min-height:42px}.primary{min-height:44px}td button{min-height:36px}
.stat strong,.pq-tile b{font-size:20px}
}
/* 35.45: Quản lý vận đơn – ô trạng thái kiểu ô số liệu, nhóm con dạng chip, nút trong bảng màu trung tính */
.status-tiles{background:transparent;gap:12px;border-radius:0;overflow:visible}
.status-tile{justify-items:start;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;gap:2px}
.status-tile+.status-tile:before{display:none}
.status-tile:hover{background:#fafbfc;border-color:var(--field-line)}
.status-tile.on{background:var(--surface);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.status-tile .tile-icon{display:none}
.status-tile .tile-label{font-size:13px;font-weight:500;color:var(--muted);text-align:left}
.status-tile strong{font-size:20px;font-weight:700;letter-spacing:-.3px}
.status-tile.alert strong{color:var(--bad-text)}
.status-subs{border-bottom:0;gap:6px;padding:12px 0 2px}
.status-sub,.status-more summary{border:1px solid var(--line);border-radius:16px;padding:5px 12px;min-height:32px;font-size:13px;font-weight:600;color:var(--ink2);background:var(--surface);display:inline-flex;align-items:center;gap:4px}
.status-sub b{color:var(--muted);font-weight:500}
.status-sub:hover{border-color:var(--field-line);background:#f7f8fa}
.status-sub.on{background:var(--ink);color:#fff;border-color:var(--ink)}.status-sub.on b{color:#cbd2da}
.status-sub.alert{color:var(--bad-text)}.status-sub.alert b{color:var(--bad-text)}
.status-more.on summary{background:var(--ink);color:#fff;border-color:var(--ink)}
.status-menu .status-sub{border:0;border-radius:0;display:flex;width:100%;background:none;color:var(--ink)}
button.det{border:1px solid var(--field-line);color:var(--ink);font-weight:600;min-height:32px}
button.det:hover{background:#f7f8fa;color:var(--ink);border-color:#98a2b3}
.tb{font-weight:600;border-radius:8px}
.tb-excel{background:var(--surface);border-color:var(--field-line);color:var(--ink)}.tb-excel:hover{background:#f7f8fa;color:var(--ink);border-color:#98a2b3}
@media(max-width:720px){.status-tiles{gap:8px}.status-tile{padding:10px 12px}.status-tile strong{font-size:18px}}
.status-subs{align-items:center}
/* 35.45: Trang chủ – Công việc cần làm: số việc dạng nhãn, tên việc chữ đậm thường, nút phụ */
.task-row{justify-content:flex-start}.task-row .task-text{flex:1;min-width:0}.task-row .task-n{min-width:30px;text-align:center;font-size:13px}
.task-red{box-shadow:none;padding-left:0}.task-red .task-text strong{color:var(--ink)}
/* 35.45: nút trong bảng / thẻ: 1 kiểu nút phụ; liên kết màu xanh (đỏ chỉ cho xóa / hủy) */
.sb-v{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--field-line)!important;border-radius:8px;font-weight:600}
.sb-v:hover{background:#f7f8fa!important;border-color:#98a2b3!important}
a.sb-x{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--field-line)!important;border-radius:8px;font-weight:600}
#content a:not(.sb-x):not([class*=btn]):not(.tb){color:var(--run-text)}
.od-link{color:var(--run-text)}
/* 35.45: chữ đỏ chỉ cho trễ / lỗi / xóa – liên kết phụ, "Xem ▾", "+ Thêm …" dùng màu chữ thường */
.of-search button{color:var(--ink2);border-left-color:var(--field-line)}
.rv-tile em,.rp-t em,.pay-sum-r em{color:var(--ink2);font-weight:600}
.rv-tile.sel em{color:#c9d1dc}
.rv-tile.rv-vtp strong,.rp-t.rp-r strong{color:var(--ink)}
.pr-more,.st-sec h4 .text,.ss-btn.empty,.ex-add{color:var(--ink2)!important}
.st-add .ss-btn{color:var(--ink2)}
button.pk-warn{background:var(--warn-bg);border-color:#f0d9a8;color:var(--warn-text)}button.pk-warn span,button.pk-warn b{color:var(--warn-text)}
button.pk-warn:hover{background:#ffedcc;border-color:#e6c37e}
td.num{white-space:nowrap}
@media(min-width:721px){.pq-table td:nth-child(4),.pq-table td:nth-child(5),.pq-table td:nth-child(7){white-space:nowrap}}
td .code{white-space:nowrap}
/* 35.45.1: rà chi tiết hộp thoại – nút phụ trung tính, liên kết xanh, nút Quay lại màu chữ đậm (đỏ chỉ cho thao tác chính / xóa) */
.od-acts .od-b,.od-acts .od-menu>summary.od-b{background:var(--surface);border:1px solid var(--field-line);color:var(--ink);font-weight:600}
.od-acts .od-b:hover,.od-acts .od-menu>summary.od-b:hover{background:#f7f8fa;border-color:#98a2b3}
.od-acts .od-menu[open]>summary.od-b{background:#f0f2f5;border-color:#98a2b3}
.od-tiles .hi{background:#f7f8fa}.od-tiles .hi b{color:var(--ink)}
#dialog a:not(.sb-x):not([class*=btn]):not(.back-a){color:var(--run-text)}
.sk-pl em{color:var(--ink2)}
#dialog-back,.back-a{background:var(--ink);box-shadow:none;font-weight:700}
#dialog-back:hover,.back-a:hover{background:#111a23;color:#fff}
.viewas-btn{font-size:0!important;width:42px;min-width:42px;padding:0!important;justify-content:center;display:inline-flex;align-items:center}.viewas-btn::before{content:"👁";font-size:18px}   /* 35.46.1: mọi màn hình – nút Xem như Shop chỉ còn biểu tượng (rê chuột hiện chữ) */   /* 35.45.1: điện thoại – nút Xem như Shop chỉ còn biểu tượng, tên trang không bị bẻ 3 dòng */
/* 35.46: nút sao chép mã – chỉ biểu tượng */
.copy-ico{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-height:0!important;padding:0!important;margin:0 0 0 4px;border:0!important;background:transparent!important;color:var(--muted);border-radius:6px;vertical-align:-6px;cursor:pointer;flex:none}
.copy-ico:hover{background:#eef0f3!important;color:var(--ink)}.copy-ico.done{color:var(--ok-text)}
#dialog-copy{margin-left:6px}
@media(max-width:720px){.copy-ico{width:30px;height:30px;vertical-align:-9px}}
/* 35.46: trang Điều khoản / Chính sách bảo mật, chân trang, trang đăng nhập, Hướng dẫn, thẻ Bắt đầu, báo mất kết nối, Lỗi hệ thống */
body.legal-page{background:var(--bg)}
.legal-wrap{max-width:820px;margin:0 auto;padding:28px 16px 40px}
.legal-brand img{height:40px;width:auto;margin:0 0 16px}
#legal h1{font-size:22px;margin:0 0 4px}#legal h2{font-size:15px;margin:20px 0 6px}#legal p,#legal li{font-size:14px;line-height:1.6;color:var(--ink2)}#legal ul{padding-left:20px;margin:4px 0}
.legal-foot{font-size:13px;margin-top:14px}.legal-foot a,.login-legal a,.main>footer.bottom a{color:var(--run-text)}
.login-legal{font-size:12px;color:var(--muted);margin-top:18px;line-height:1.6}
.main>footer.bottom{display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:space-between}
.help-item{border-top:1px solid var(--line2);padding:10px 0}.help-item:first-of-type{border-top:0}
.help-item>summary{cursor:pointer;font-weight:600;font-size:14px;list-style-position:inside}
.help-item ol{margin:8px 0 2px;padding-left:22px;color:var(--ink2);font-size:14px;line-height:1.6}
.onboard .ob-step{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line2)}
.ob-n{width:28px;height:28px;border-radius:50%;background:var(--none-bg);color:var(--ink2);display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.ob-step.done .ob-n{background:var(--ok-bg);color:var(--ok-text)}.ob-step.done .ob-t b{color:var(--muted);font-weight:600}
.ob-t{flex:1;display:grid;gap:1px;min-width:0}
.net-notice{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:99;background:var(--warn-bg);color:var(--warn-text);border:1px solid #f0d9a8;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;box-shadow:0 6px 20px #1f293720}
.err-trace{white-space:pre-wrap;font-size:12px;background:#f7f8fa;border:1px solid var(--line);border-radius:8px;padding:10px;max-height:320px;overflow:auto}
.legal-edit{border-top:1px solid var(--line2);padding:10px 0}.legal-edit>summary{cursor:pointer;font-weight:600}.legal-edit textarea{font-size:13px;line-height:1.5}
/* 35.46.1: Hướng dẫn bằng video */
.help-vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.help-vid{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:8px}
.help-vid video{width:100%;height:auto;max-height:440px;object-fit:contain;background:#1f2933;border-radius:8px;display:block}
.help-vid figcaption{font-weight:600;font-size:14px}
.help-foot{font-size:13px;margin-top:4px}
@media(max-width:720px){.help-vids{grid-template-columns:1fr 1fr;gap:10px}.help-vid{padding:8px}.help-vid figcaption{font-size:13px}}
/* 35.46.2: nút "Lưu" trong trang chỉ đỏ khi đã sửa; nút lọc là nút phụ; ô số liệu cùng một kiểu; nút Cần xem; địa chỉ kho gửi; báo đẩy đơn xong; Quay lại */
#content button.primary.save-idle,#content button.primary.as-sec,#dialog-body button.primary.as-sec{background:var(--surface);color:var(--ink);border:1px solid var(--field-line);font-weight:600}
#content button.primary.save-idle:hover,#content button.primary.as-sec:hover,#dialog-body button.primary.as-sec:hover{background:#f7f8fa;border-color:#98a2b3;color:var(--ink)}
.sb-strip{gap:12px;border:0;border-radius:0;overflow:visible}
.sb-strip>div{border:1px solid var(--line);border-left:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface)}
.sb-strip>div:first-child{border-left:1px solid var(--line)}
.sb-strip .g{background:var(--surface)}.sb-strip .g b{color:var(--ok-text)}
.sb-strip span{font-size:13px}.sb-strip b{font-size:20px;font-weight:700}
.rp-t{padding:12px 14px}.rp-t .l{font-size:13px}.rp-t strong{font-size:20px;font-weight:700}
.rv-tile .l{font-size:13px}.rv-tile strong{font-size:20px;font-weight:700}
.pay-sum{background:var(--surface)}
.rv-issue,.rv-issue.on{background:var(--surface);border:1px solid var(--field-line);color:var(--ink);font-weight:600;border-radius:8px}
.rv-issue b{display:inline-block;min-width:20px;padding:0 6px;border-radius:10px;background:var(--bad-text);color:#fff;font-size:12px;text-align:center}
.rv-issue.on{box-shadow:inset 0 0 0 1px var(--ink)}
.snd-addr{display:block;margin-top:4px;font-size:13px;font-weight:400;color:var(--muted);line-height:1.4}
.job-toast{position:fixed;right:20px;bottom:20px;z-index:99;display:flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border-radius:12px;padding:8px 8px 8px 16px;font-size:14px;font-weight:600;box-shadow:0 10px 30px #1f293740;max-width:calc(100vw - 32px)}
.job-toast.warn{background:#8a5a0f}
.job-toast .text{color:#fff}.job-toast .text:hover{background:#ffffff22;color:#fff}
#content>.back-a{margin:0 0 12px}
@media(max-width:720px){.sb-strip{gap:8px}.sb-strip>div{padding:10px 12px}.sb-strip b{font-size:18px}.job-toast{left:12px;right:12px;bottom:76px}}
/* 35.46.3: Đối soát trên điện thoại – Cần xem + Danh sách đơn 1 hàng, Nhập bảng kê hàng riêng (không cắt chữ) */
@media (max-width:720px){.rv-acts{grid-template-columns:repeat(2,minmax(0,1fr))}.rv-acts>button.primary{grid-column:1/-1}}
/* 35.46.3: đơn tách kiện */
.st-parcel{display:block;margin-top:3px;font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap}.st-parcel.warn{color:var(--bad-text)}
.m-name .st-parcel{display:inline;margin:0 0 0 6px}
.parcel-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.parcel-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;align-items:center;text-align:left;background:var(--surface);border:0;border-bottom:1px solid var(--line);padding:10px 12px;cursor:pointer;color:var(--ink);font:inherit}
.parcel-row:last-child{border-bottom:0}.parcel-row:hover{background:var(--hover,#f6f7f9)}.parcel-row .pc-code{font-weight:600;font-variant-numeric:tabular-nums}.parcel-row .pc-code{white-space:nowrap}.parcel-row small{flex-basis:100%}.parcel-row .pc-loc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-warn{background:var(--warn-bg);color:var(--warn-text);padding:8px 12px;border-radius:9px;margin:0 0 10px;font-weight:600}
/* 35.50: Chốt bảng kê – mọi Shop */
.payout-bar{align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 10px}
.payout-bar .row{gap:8px;margin:0}
.stat.stat-link{cursor:pointer}
.stat.stat-link:hover,.stat.stat-link:focus-visible{border-color:var(--accent);outline:none}
@media (max-width:720px){.payout-bar>.row{width:100%}.payout-bar>.row>button{flex:1}}
.payout-card,.payout-mrow{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;background:var(--surface,#fff)}
.payout-mrow{border-width:0 0 1px;border-radius:0;padding:10px 0;margin:0}
.payout-top{display:flex;gap:10px;align-items:flex-start}
.payout-top>.cell-2{flex:1;min-width:0}
.payout-top input[type=checkbox]{width:20px;height:20px;margin-top:2px;flex:none}
.payout-amt{white-space:nowrap}
.payout-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.payout-mrow .row,.payout-card .row{gap:8px;margin:8px 0 0}

/* 35.51: Quản lý vận đơn – Tất cả Shop */
.of-scope{cursor:pointer;font-weight:700;white-space:nowrap}
.of-scope.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.of-test{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}
.cell-shop{display:inline-block;max-width:150px;overflow-wrap:anywhere}
.m-order .m-shop{flex:1 1 0;min-width:0;margin:0 8px;font-size:12px;font-weight:700;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.of-test input{width:auto;min-height:0;height:auto;margin:0}
.of-test{justify-content:center}
.of-row .of-test{display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:6px;line-height:1}
.of-row .of-date{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* 35.53: đồng nhất giao diện – nhãn trạng thái một kiểu (pill / badge dùng đúng dáng và màu theo nghĩa như nhãn trạng thái đơn) */
.pill,.badge{display:inline-block;padding:4px 9px;border-radius:12px;font-size:12px;font-weight:700;line-height:1.25;white-space:nowrap;border:1px solid transparent}
.pill,.badge.tone-none,.badge.muted{background:#f0f2f5;color:#59626e;border-color:#dfe3e8}
.badge{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-soft)}
.pill.bad,.badge.tone-bad,.badge.bad{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}
.pill.warn,.badge.warn,.badge.tone-warn{background:#fff2df;color:#975d0f;border-color:#f3d6a8}
.pill.ok,.pill.cod-ok,.badge.ok,.badge.tone-ok{background:#e9f6f1;color:#236c55;border-color:#bfe3d4}
.pill.cod-info,.badge.tone-run{background:#e8f1fd;color:#1f5aa6;border-color:#c7dcf7}
/* 35.53: Đơn cần xử lý */
.odue-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}   /* 35.54: đổi tên – trùng .od-tiles của chi tiết đơn làm điện thoại bị ép 4 cột, cắt chữ */
.od-warn{display:grid;gap:3px}.od-warn .st{justify-self:start}
.m-order .od-due{font-size:13px;font-weight:600}
.m-order .od-why{font-size:13px;margin-top:2px}
/* 35.53: form trên trang – bấm Lưu xong thấy rõ đã lưu */
button.saved-ok{background:var(--ok-bg)!important;color:var(--ok-text)!important;border-color:#bfe3d4!important}
.pill.cod-warn{background:#fff2df;color:#975d0f;border-color:#f3d6a8}
.od-tiles .pill{white-space:normal;line-height:1.3}   /* 35.54: nhãn Thanh toán COD xuống dòng thay vì bị cắt */
/* 35.55: điện thoại / máy tính bảng – 2 nút quyết định (Phát tiếp + Duyệt hoàn) chung 1 hàng, Hành trình · In đơn · Khác xuống hàng dưới; chữ dài không tràn sang nút bên cạnh */
@media(max-width:1100px){.od-acts.od-pair>button.primary,.od-acts>button.od-urgent{flex:1 1 calc(50% - 3px)}
 .od-acts>button,.od-acts .od-menu>summary{overflow:hidden;text-overflow:ellipsis}}
/* 35.56: hộp xác nhận của app (thay confirm() trình duyệt) */
.ask-ov{position:fixed;inset:0;z-index:2147483000;background:#1b22304d;display:flex;align-items:center;justify-content:center;padding:16px}
.ask-box{background:var(--surface);border-radius:12px;box-shadow:0 18px 50px #1b223040;max-width:440px;width:100%;padding:18px 18px 14px;display:grid;gap:14px}
.ask-box p{margin:0;font-size:15px;line-height:1.5;color:var(--ink)}
.ask-box .row{gap:8px;flex-wrap:wrap}
/* 35.56: thông báo thao tác tiền */
#toast.toast-money{background:#14532d;font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#toast .toast-ok{color:#86efac}
#toast .toast-act{margin-left:auto;background:#ffffff26;color:#fff;border:1px solid #ffffff59;min-height:32px;padding:4px 12px;border-radius:7px}
/* 35.57: chip nhóm không tô đen (dễ tưởng đang chọn Tất cả); lý do trên thẻ COD xuống hàng; khung âm thay nút tạo bảng kê */
.m-chip.grp{background:var(--surface);border-color:var(--ink);color:var(--ink)}
.pr-2{flex-wrap:wrap}.pr-2 .pr-why{white-space:normal;flex:1 1 100%;min-width:0;overflow-wrap:anywhere}
.pk-neg{display:grid;gap:2px;padding:12px 14px;border:1px solid #f3d6a8;background:#fff2df;color:#975d0f;border-radius:10px}
.pk-neg small{color:#975d0f;font-size:13px}
/* 35.60: cước Shop trả tiền mặt cho bưu tá */
.cash-row{margin:8px 0;padding:10px 12px}
.cash-fields{display:grid;grid-template-columns:2fr 1.3fr 1fr;gap:8px;margin-top:6px}
.cash-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:720px){.cash-fields,.cash-tiles{grid-template-columns:1fr}}

/* 35.61: đồng nhất cỡ chữ và độ đậm – mọi ô số liệu cùng một cỡ (giữ nguyên màu và bố cục) */
.stat strong,.pq-tile b,.status-tile strong,.rv-tile strong,.rp-t strong,.rv-tile.rv-vtp strong,.rv-tile.rv-ghn strong{font-size:20px;font-weight:700;letter-spacing:-.2px;font-variant-numeric:tabular-nums}
.stat>span,.status-tile .tile-label,.rv-tile .l,.rp-t .l,.pq-tile>span{font-size:13px;font-weight:500}
.stat-hint,.rv-tile small,.rp-t small,.pq-tile small{font-size:12px}
.rv-tile em,.rp-t em{font-size:12px;font-weight:600}
@media(max-width:720px){
 .stat strong,.pq-tile b,.status-tile strong,.rv-tile strong,.rp-t strong,.rv-tile.rv-vtp strong,.rv-tile.rv-ghn strong{font-size:18px}
 .stat>span,.status-tile .tile-label,.rv-tile .l,.rp-t .l,.pq-tile>span{font-size:12px}
}
/* 35.62: thẻ đơn điện thoại – ngày gửi ở dòng 2; Admin xem tất cả Shop thấy tên Shop */
.m-r2 .m-name{flex:1 1 auto;min-width:0}
.m-r2 .m-money{flex:none}
.m-name .m-shop{display:inline;margin:0;font-size:inherit;font-weight:600;text-align:left}
.m-date{color:var(--muted);font-weight:400}
/* 35.63: Báo cáo theo tháng tạo đơn – lọc Shop, dải chốt tháng */
.rp-filters{flex-wrap:nowrap;gap:8px}.rp-shop{min-width:190px}.rp-basis{font-size:12px;color:var(--muted);margin:6px 0 0}
.cl-band{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;margin-top:12px;padding:10px 12px;border-radius:10px;border:1px solid #f0d58a;background:#fff8e6;font:inherit;font-size:14px;color:inherit;text-align:left}
button.cl-band{cursor:pointer}.cl-band.done{border-color:#b7dfc3;background:#effaf2}.cl-band b{font-weight:700}.cl-band .sp{flex:1}.cl-band em{font-style:normal;font-weight:700;font-size:13px}
.cl-steps{display:flex;gap:6px;flex-wrap:wrap}.cl-steps span{font-size:12px;padding:3px 9px;border-radius:999px;background:#fff;border:1px solid #ead9a6}
.cl-after{font:inherit;font-size:13px;color:var(--muted);background:none;border:0;padding:0;text-align:right}button.cl-after{cursor:pointer}
.cl-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 8px}.cl-tabs button{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 11px;cursor:pointer;color:inherit}
.cl-tabs button.on{background:#172b4d;color:#fff;border-color:#172b4d}.rp-t small.x{color:#8a93a0}
@media(max-width:720px){.rp-filters{flex-wrap:wrap;width:100%}.rp-filters .rp-month{flex:1;min-width:0}.cl-after{text-align:left}}
/* 35.64: Đối soát theo ngày nhập bảng kê / ngày chi – tiền vào, tiền ra, đang giữ */
.rv-note{font-size:12px;color:var(--muted);margin:8px 0 0}
.rv-sec{margin:16px 0 0;font-size:14px;font-weight:600;color:#3b4552}.rv-sec small{font-weight:400;color:#7a8390;margin-left:6px;font-size:12px}
.rv-flow.rv-in-row{grid-template-columns:1.2fr auto repeat(3,minmax(0,1fr));margin-top:8px}.rv-flow.rv-in-row.n1{grid-template-columns:1.2fr auto minmax(0,1fr)}
.rv-flow.rv-out-row{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:8px}
.rv-tile.rv-in strong{color:var(--ink)}.rv-tile.rv-bal{background:#f3f6fb}.rv-tile.rv-bal.sel{background:#172b4d}.rv-tile.rv-static{cursor:default}.rv-tile.rv-static:hover{background:transparent}
.rv-bands{display:grid;gap:8px;margin-top:12px}.rv-bands .rv-owe{margin-top:0}
@media(max-width:720px){.rv-flow.rv-in-row,.rv-flow.rv-in-row.n1,.rv-flow.rv-out-row{grid-template-columns:1fr}}
.rv-tile.sel.rv-vtp strong,.rv-tile.sel.rv-in strong,.rv-tile.sel.rv-bal strong{color:#fff}
