/* dxm1 · giao diện điện thoại kiểu One UI — bảng màu theo app HĐĐT (#3A2A1C nâu đậm · #E4D3B8 be · #8D6A32 nhấn · #F7F1E6 kem · #E3BF73 vàng) */
html.dxm{--bg:#EFE5D3;--card:#FBF7EF;--line:#E2D4BC;--tx:#2A1C12;--sub:#7A6652;--pri:#3A2A1C;--acc:#8D6A32;--gold:#E3BF73;--ok:#4f7d4a;--warn:#b07a1f;--bad:#a8443a}
@media (prefers-color-scheme:dark){html.dxm{--bg:#17110C;--card:#241B14;--line:#3A2E24;--tx:#F3EADB;--sub:#B8A58C;--pri:#E3BF73;--acc:#E3BF73}}
html.dxm body{background:var(--bg)!important;color:var(--tx)!important;-webkit-tap-highlight-color:transparent}
html.dxm #dx-shell{display:block!important;background:var(--bg)!important;min-height:100vh}
html.dxm #dx-shell .sidebar{display:none!important}
html.dxm #dx-shell .main{margin:0!important;width:100%!important;background:var(--bg)!important;padding-bottom:86px;overflow:visible!important;height:auto!important}
html.dxm #dx-shell .topbar{position:static!important;display:block!important;background:var(--bg)!important;border:0!important;padding:56px 22px 14px!important;height:auto!important;box-shadow:none!important}
html.dxm #dx-shell .topbar .ham,html.dxm #dx-shell .topbar .label{display:none!important}
html.dxm #dx-title{font-size:30px!important;font-weight:500!important;color:var(--tx)!important;line-height:1.15;white-space:normal!important}
html.dxm #dx-sub{font-size:12.5px!important;color:var(--sub)!important;margin-top:6px;white-space:normal!important;text-transform:none}
html.dxm #dx-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
html.dxm #dx-act .btn,html.dxm #dx-act a,html.dxm #dx-act select,html.dxm #dx-act input{min-height:40px;border-radius:20px!important;padding:0 16px!important;font-size:13px!important;background:var(--card)!important;color:var(--tx)!important;border:1px solid var(--line)!important}
html.dxm #dx-act .btn-primary{background:var(--pri)!important;color:var(--card)!important;border-color:var(--pri)!important}
html.dxm #dx-content{padding:0 14px!important}
html.dxm .dx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
html.dxm .dx-kpi,html.dxm .dx-panel,html.dxm .dx-truck,html.dxm #dx-shell .dx-card,html.dxm #dx-shell .dx-sgc,html.dxm #dx-shell .dx-job{background:var(--card)!important;border:0!important;border-radius:20px!important;box-shadow:0 1px 3px rgba(42,28,18,.06)!important;color:var(--tx)!important}
html.dxm .dx-kpi{padding:14px 16px!important}html.dxm .dx-kpi .v{font-size:30px!important}html.dxm .dx-kpi .t{color:var(--sub)!important}
html.dxm .dx-truck{padding:14px 16px!important}html.dxm .dx-truck .b{color:var(--sub)!important}
html.dxm #dx-content > div[style*="grid-template-columns"]{display:grid!important;grid-template-columns:1fr!important}
html.dxm #dx-shell .dx-drv,html.dxm #dx-shell .dx-sg{grid-template-columns:1fr!important}
html.dxm #dx-map{height:56vh!important;border-radius:20px!important;border:0!important}
html.dxm #dx-content > div[style*="calc(100vh"]{display:block!important;height:auto!important}
html.dxm #dx-mlist{width:auto!important;margin-top:12px}
html.dxm #dx-shell table.dx-t{display:block;overflow-x:auto;background:var(--card)!important;border-radius:16px;border:0!important}
html.dxm #dx-shell table.dx-t th{background:var(--line)!important;color:var(--tx)!important}
html.dxm #dx-shell table.dx-t td{border-color:var(--line)!important;padding:10px 8px!important;font-size:12.5px}
html.dxm #dx-shell .dx-scroll{max-height:none!important;border:0!important;border-radius:16px;background:transparent!important}
html.dxm #dx-shell .btn-xs{min-height:34px;padding:0 12px!important;border-radius:17px!important;font-size:12px!important}
html.dxm .dx-note{color:var(--sub)!important}
#dxm-nav{position:fixed;left:0;right:0;bottom:0;z-index:9000;height:68px;padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--line);display:flex}
#dxm-nav button{flex:1;border:0;background:transparent;color:var(--sub);font:500 11px Roboto,Arial;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
#dxm-nav button svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8}
#dxm-nav button.on{color:var(--pri);font-weight:700}#dxm-nav button.on i{background:var(--line)}
#dxm-nav i{display:flex;padding:3px 18px;border-radius:14px}
#dxm-sheet{position:fixed;inset:0;z-index:9500;background:rgba(0,0,0,.35);display:none}#dxm-sheet.on{display:block}
#dxm-sheet .s{position:absolute;left:8px;right:8px;bottom:8px;background:var(--card);border-radius:26px;padding:10px 8px 14px;max-height:78vh;overflow:auto;color:var(--tx)}
#dxm-sheet .h{width:40px;height:4px;background:var(--line);border-radius:2px;margin:4px auto 10px}
#dxm-sheet .g{font-size:11.5px;color:var(--sub);padding:10px 16px 4px;font-weight:700}
#dxm-sheet a,#dxm-sheet button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--tx);font:15px Roboto,Arial;padding:13px 16px;border-radius:14px;text-decoration:none}
#dxm-sheet a:active,#dxm-sheet button:active{background:var(--line)}
#dxm-ptr{position:fixed;top:-48px;left:50%;transform:translateX(-50%);z-index:9600;width:40px;height:40px;border-radius:50%;background:var(--card);box-shadow:0 2px 8px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;color:var(--pri);font-size:20px;transition:top .15s}
html.dxm .leaflet-popup-content-wrapper{border-radius:16px}
/* dxm2: chống tràn ngang */
html.dxm,html.dxm body{overflow-x:hidden;max-width:100vw}
html.dxm #dx-shell,html.dxm #dx-shell .main,html.dxm #dx-content{max-width:100vw;box-sizing:border-box}
html.dxm #dx-content > div,html.dxm #dx-content > div > *{min-width:0!important;max-width:100%;box-sizing:border-box}
html.dxm #dx-content > div[style*="width:330px"],html.dxm #dx-content > div > div[style*="width:"]{width:auto!important}
html.dxm #dx-content [style*="width:440px"],html.dxm #dx-content [style*="width:330px"]{width:auto!important}
html.dxm #dx-content .leaflet-container{width:100%!important}
html.dxm #dx-rep{max-width:100%;overflow-x:auto}html.dxm #dx-rep .dxr{transform-origin:0 0}
html.dxm #dx-shell .dx-bar{overflow-x:auto;flex-wrap:nowrap}
