/* Swiss Express Driver Companion redesign based on supplied cockpit reference.
 * Isolated to currentView driverportal via .dcp-page. No driver roster, finance,
 * booking, fleet atlas, or authentication logic is replaced.
 */
body.cfi-command-design:has(.dcp-page){--cfi-command-rail:0px;--cfi-command-header:0px;background:#f7fbfa;color:#0a2245}
body.cfi-command-design:has(.dcp-page) .app-shell{padding-left:0;background:#f7fbfa}
body.cfi-command-design:has(.dcp-page) .sidebar,body.cfi-command-design:has(.dcp-page) .topbar,
body.cfi-command-design:has(.dcp-page) .cfi-command-nav-backdrop{display:none!important}
body.cfi-command-design:has(.dcp-page) .main-view{
  width:100%;max-width:none;margin:0;padding:0!important;background:#f8fbfb;
}
.dcp-page{--dcp-ink:#0a2149;--dcp-soft:#6d829d;--dcp-border:#e2e8ed;--dcp-blue:#0869f8;--dcp-mint:#e8faef;
 display:grid;grid-template-columns:198px minmax(0,1fr);align-items:stretch;min-height:100dvh;
 color:var(--dcp-ink);font:500 13px/1.35 "DM Sans",Inter,Manrope,Arial,sans-serif;overflow:hidden
}
.dcp-page *,.dcp-page *:before,.dcp-page *:after{box-sizing:border-box}
.dcp-page button,.dcp-page input,.dcp-page select{font-family:inherit}
.dcp-page button{cursor:pointer}
.dcp-page button:focus-visible,.dcp-page input:focus-visible,.dcp-page select:focus-visible{
 outline:3px solid #55b9f2;outline-offset:2px
}
.dcp-page h1,.dcp-page h2,.dcp-page h3,.dcp-page h4,.dcp-page p{margin:0}
.dcp-page .dcp-icon{width:21px;height:21px;display:inline-block;vertical-align:middle;flex:0 0 21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.dcp-page .dcp-icon.sm{width:16px;height:16px;flex-basis:16px}
.dcp-page .dcp-icon.lg{width:27px;height:27px;flex-basis:27px}
.dcp-page .dcp-icon.xl{width:31px;height:31px;flex-basis:31px}
.dcp-page .dcp-side{
 display:flex;flex-direction:column;position:sticky;top:0;left:0;
 align-self:start;width:198px;height:100dvh;min-height:660px;
 padding:10px 9px 19px;border-right:1px solid #14505a;
 background:linear-gradient(170deg,#053c46 0%,#00414b 57%,#02313c 100%);color:#f6fffe;
 z-index:60;
}
.dcp-page .dcp-logo{display:flex;flex-direction:column;justify-content:center;align-items:center;height:87px;flex:0 0 87px;gap:2px;overflow:hidden}
.dcp-page .dcp-logo img{display:block;width:132px;height:70px;object-fit:contain;filter:brightness(1.5) contrast(1.08)}
.dcp-page .dcp-side-links{display:flex;flex-direction:column;gap:3px;margin-top:8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}
.dcp-page .dcp-side-links::-webkit-scrollbar{display:none}
.dcp-page .dcp-side-link{
 display:flex;align-items:center;justify-content:flex-start;gap:19px;
 width:100%;min-height:49px;flex:0 0 49px;
 padding:8px 16px;border:1px solid transparent;border-radius:11px;
 background:transparent;color:#f2fcfa;text-align:left;
 font-size:13px;font-weight:620;letter-spacing:-.12px;
}
.dcp-page .dcp-side-link .dcp-icon{width:22px;height:22px;flex-basis:22px;stroke-width:2}
.dcp-page .dcp-side-link:hover{background:#165b66}
.dcp-page .dcp-side-link.active{background:#096773;border-color:#0998ae;box-shadow:inset 2px 0 #19a5df}
.dcp-page .dcp-side-link .dcp-badge{margin-left:auto;padding:2px 6px;border-radius:99px;background:#ff3150;font-size:10px;font-weight:800}
.dcp-page .dcp-side-separator{height:1px;margin:23px 12px;background:#275965}
.dcp-page .dcp-side-logout{display:flex;align-items:center;gap:18px;padding:8px 16px;margin-top:11px;border:0;background:none;color:#f2fffe;font-size:13px;font-weight:680;text-align:left}
.dcp-page .dcp-side-logout:hover{color:#94e6e4}
.dcp-page .dcp-content{min-width:0}
.dcp-page .dcp-header{
 display:flex;align-items:center;gap:19px;justify-content:space-between;
 height:82px;min-height:82px;padding:9px 23px 9px 21px;
 background:linear-gradient(#fff,#fcfeff);border-bottom:1px solid #e5ecec
}
.dcp-page .dcp-head-title{margin-right:auto;min-width:0}
.dcp-page .dcp-head-title h1{font-size:28px;font-weight:850;letter-spacing:-.9px;line-height:1.14;color:#10254c}
.dcp-page .dcp-head-title p{font-size:16px;color:#6683a4;line-height:1.35;margin-top:4px}
.dcp-page .dcp-head-tools{display:flex;gap:21px;align-items:center;flex:none;min-width:0}
.dcp-page .dcp-presence{display:inline-flex;align-items:center;gap:7px;min-height:35px;padding:7px 13px;border-radius:22px;border:1px solid #d5f3e7;background:#f0fbf6;color:#007b4b;font-size:11px;font-weight:790;white-space:nowrap}
.dcp-page .dcp-presence:before{content:"";width:10px;height:10px;border-radius:50%;background:#12a76b}
.dcp-page .dcp-header-date{color:#4e7298;white-space:nowrap;font-size:11px;font-weight:750}
.dcp-page .dcp-notification{position:relative;border:0;background:none;color:#134b78;width:36px;height:40px;display:grid;place-items:center}
.dcp-page .dcp-notification .dcp-count{position:absolute;top:-2px;right:0;background:#f42242;color:#fff;font-size:10px;min-width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-weight:900}
.dcp-page .dcp-account{display:flex;align-items:center;gap:10px;max-width:270px;min-width:160px}
.dcp-page .dcp-account-photo{width:54px;height:54px;border-radius:50%;overflow:hidden;display:block;background:#eaf1ed;flex:0 0 54px}
.dcp-page .dcp-account-photo img{width:100%;height:100%;object-fit:cover}
.dcp-page .dcp-account>div{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.dcp-page .dcp-account b{font-size:13px;color:#132a52;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dcp-page .dcp-account small{font-size:11px;color:#4a6e97}
.dcp-page .dcp-account select{width:22px;height:30px;border:0;appearance:none;background:transparent;color:transparent;position:relative;z-index:2;cursor:pointer}
.dcp-page .dcp-account .dcp-select-chevron{margin-left:-30px;pointer-events:none}
.dcp-page .dcp-body{padding:1px 13px 28px;max-width:1900px;margin:0 auto}
.dcp-page .dcp-card{border:1px solid #e0e7ed;border-radius:14px;background:linear-gradient(145deg,#fff,#fdfefe);box-shadow:0 4px 16px #1b476306;min-width:0}
.dcp-page .dcp-overview{display:grid;grid-template-columns:minmax(0,2.55fr) minmax(330px,1fr);gap:12px;align-items:stretch;margin-bottom:11px}
.dcp-page .dcp-hero{
 position:relative;display:grid;grid-template-columns:106px minmax(310px,1.02fr) minmax(340px,1.12fr);
 height:222px;min-height:222px;padding:12px 12px 12px 15px;overflow:hidden;
 background:radial-gradient(ellipse at 45% 50%,#fff 34%,#f7fbff 100%)
}
.dcp-page .dcp-mini-route{position:relative;display:flex;align-items:center;justify-content:center;width:106px;height:193px;border-radius:12px;background:linear-gradient(145deg,#edf8ff,#d9f1ff);overflow:hidden}
.dcp-page .dcp-mini-route img{display:block;height:170px;width:330px;max-width:none;position:absolute;left:-150px;top:13px;object-fit:contain;transform:rotate(-80deg);opacity:.9}
.dcp-page .dcp-route-copy{position:relative;z-index:2;padding:6px 4px 0 23px;display:flex;flex-direction:column;gap:0}
.dcp-page .dcp-trip-top{display:flex;align-items:center;gap:13px;white-space:nowrap;font-size:12px;color:#03a565;font-weight:850}
.dcp-page .dcp-trip-top .dcp-status{padding:7px 13px;border-radius:18px;background:#e0faeb;color:#00844a;font-weight:800;font-size:11px}
.dcp-page .dcp-route-copy h2{margin-top:15px;font-size:23px;color:#0f2652;font-weight:850;letter-spacing:-.55px;line-height:1.24;white-space:nowrap}
.dcp-page .dcp-route-via{font-size:16px;color:#376391;margin-top:2px}
.dcp-page .dcp-meta-row{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;margin-top:auto;margin-bottom:20px;color:#2b5b82;font-size:11px}
.dcp-page .dcp-meta-line{display:flex;align-items:flex-start;gap:7px}
.dcp-page .dcp-meta-line>.dcp-icon{color:#346589;flex:0 0 21px}
.dcp-page .dcp-meta-line b{display:block;font-size:11px;color:#172f53}
.dcp-page .dcp-meta-line small{display:block;color:#7691ae;font-size:10px}
.dcp-page .dcp-map{position:relative;min-width:0;height:197px;overflow:hidden;border-radius:10px;background:#eaf5ea}
.dcp-page .dcp-map img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;transform:scale(var(--dcp-zoom,1));transition:transform .18s ease;transform-origin:center;pointer-events:none}
.dcp-page .dcp-map-zoom{position:absolute;right:8px;top:9px;display:flex;flex-direction:column;gap:1px;border-radius:8px;overflow:hidden;box-shadow:0 3px 8px #1a446333}
.dcp-page .dcp-map-zoom button{width:29px;height:31px;border:0;background:#fff;color:#143c64;font-size:20px;font-weight:800}
.dcp-page .dcp-map-zoom button:hover{background:#eaf5ff}
.dcp-page .dcp-map-label{position:absolute;left:9px;bottom:7px;padding:3px 7px;border-radius:5px;background:#fffdfacb;color:#526c83;font-size:9px;font-weight:700}
.dcp-page .dcp-next{height:222px;padding:17px 20px}
.dcp-page .dcp-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px;color:#0d2b54}
.dcp-page .dcp-card-title>span{display:inline-flex;align-items:center;gap:11px;font-size:15px;font-weight:850;color:#0b2550}
.dcp-page .dcp-card-title>.dcp-icon{color:#006df0}
.dcp-page .dcp-card-link{display:flex;gap:8px;align-items:center;border:0;background:transparent;color:#0573ef;font-size:11px;font-weight:760;white-space:nowrap}
.dcp-page .dcp-card-link:hover{color:#004cbb}
.dcp-page .dcp-next-time{display:flex;justify-content:space-between;gap:15px;align-items:center}
.dcp-page .dcp-next-time strong{font-size:30px;letter-spacing:-.7px;color:#102650;line-height:1.1}
.dcp-page .dcp-next-time small{display:block;color:#3c6d9d;font-size:13px;margin-top:4px}
.dcp-page .dcp-chip{display:inline-flex;gap:6px;align-items:center;padding:7px 10px;border-radius:24px;background:#e4faee;color:#078649;font-size:10px;font-weight:820;white-space:nowrap}
.dcp-page .dcp-next-stop{display:grid;grid-template-columns:33px minmax(0,1fr) 90px;gap:10px;align-items:center;border-top:1px solid #e7ecf0;margin-top:14px;padding-top:16px}
.dcp-page .dcp-next-stop>.dcp-icon{color:#3483ec}
.dcp-page .dcp-next-stop b{display:block;color:#10254d;font-size:15px;margin-top:5px}
.dcp-page .dcp-next-stop small{font-size:11px;color:#5b82ac}
.dcp-page .dcp-next-eta{border-left:1px solid #e5ecf0;padding-left:14px}
.dcp-page .dcp-next-eta strong{font-size:17px;color:#071d42;display:block}
.dcp-page .dcp-next-eta span{color:#2c5d91;font-size:11px}
.dcp-page .dcp-instruments{display:grid;grid-template-columns:.9fr 1.09fr 1.03fr 1.04fr;gap:11px;margin-bottom:11px;align-items:stretch}
.dcp-page .dcp-instrument{min-height:219px;padding:15px 17px 13px;overflow:hidden}
.dcp-page .dcp-partner-body{display:flex;gap:13px;align-items:center;margin-top:14px}
.dcp-page .dcp-face{width:78px;height:78px;flex:0 0 78px;overflow:hidden;border-radius:50%;background:#dde5eb}
.dcp-page .dcp-face img{width:100%;height:100%;object-fit:cover}
.dcp-page .dcp-partner-body b{font-size:15px;color:#11294e}
.dcp-page .dcp-partner-body p{color:#55749d;font-size:12px;margin-top:3px}
.dcp-page .dcp-partner-body small{display:inline-flex;align-items:center;gap:7px;color:#29589a;font-size:11px;margin-top:9px}
.dcp-page .dcp-partner-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:40px;padding:9px;border:0;border-radius:10px;margin-top:18px;background:linear-gradient(100deg,#dceffc,#e9f4ff);color:#0064ec;font-size:12px;font-weight:780}
.dcp-page .dcp-document-list{display:grid;gap:9px;padding:0 3px}
.dcp-page .dcp-document-line{display:grid;grid-template-columns:20px 1fr auto;gap:9px;align-items:center;color:#132e52;font-size:11px}
.dcp-page .dcp-document-line .dcp-icon{width:18px;height:18px;color:#00a669;stroke-width:2.3}
.dcp-page .dcp-document-line strong{color:#07894c;font-size:10px}
.dcp-page .dcp-document-foot{font-size:9px;color:#7a90a5;margin-top:9px}
.dcp-page .dcp-vehicle-identity{display:flex;align-items:center;gap:11px;height:80px;min-width:0;border-bottom:1px solid #eef0f2}
.dcp-page .dcp-vehicle-identity img{width:125px;height:72px;object-fit:contain;flex:0 0 125px;filter:drop-shadow(0 3px 2px #1a3e501e)}
.dcp-page .dcp-vehicle-identity b{color:#112854;font-size:14px}
.dcp-page .dcp-vehicle-identity small{display:block;color:#5e83a8;font-size:10px;margin-top:4px}
.dcp-page .dcp-vehicle-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:13px}
.dcp-page .dcp-vehicle-stat{display:flex;flex-direction:column;align-items:center;gap:3px;padding:2px 5px;text-align:center;border-right:1px solid #dce4ec;min-width:0}
.dcp-page .dcp-vehicle-stat:last-child{border-right:0}
.dcp-page .dcp-vehicle-stat .dcp-icon{height:22px;width:22px;color:#075680}
.dcp-page .dcp-vehicle-stat b{font-size:10px;color:#172c51}
.dcp-page .dcp-vehicle-stat small{color:#6287af;font-size:10px}
.dcp-page .dcp-vehicle-stat.ready .dcp-icon,.dcp-page .dcp-vehicle-stat.ready b{color:#008d53}
.dcp-page .dcp-schedule{display:grid;gap:0;margin:4px 0 0;padding:0;list-style:none}
.dcp-page .dcp-schedule li{display:grid;grid-template-columns:16px 43px 18px minmax(0,1fr) auto;gap:8px;min-height:35px;align-items:center;color:#142e51;font-size:11px}
.dcp-page .dcp-time-dot{width:10px;height:10px;border-radius:50%;background:#9db1c2;box-shadow:0 0 0 3px #eff4f9}
.dcp-page .dcp-time-dot.upcoming{background:#0a6cf1}
.dcp-page .dcp-time-dot.completed{background:#23a96f}
.dcp-page .dcp-schedule li time{font-weight:800;color:#203b59}
.dcp-page .dcp-schedule li .dcp-icon{width:15px;height:15px;color:#4c8caf}
.dcp-page .dcp-schedule-status{padding:3px 7px;border-radius:13px;background:#eff3f8;color:#637c93;font-size:9px;white-space:nowrap}
.dcp-page .dcp-schedule-status.completed{background:#e4faee;color:#048e53}
.dcp-page .dcp-schedule-status.upcoming{background:#e7f1ff;color:#0068ec}
.dcp-page .dcp-actions-wrapper{padding:7px 12px 12px}
.dcp-page .dcp-actions-head{display:flex;align-items:center;gap:16px;min-height:50px;padding:0 7px}
.dcp-page .dcp-actions-head .dcp-icon{color:#0cb47e;width:27px;height:27px}
.dcp-page .dcp-actions-head h2{font-size:23px;font-weight:850;letter-spacing:-.6px;color:#132b51}
.dcp-page .dcp-actions-head>span{font-size:12px;color:#6686a6}
.dcp-page .dcp-etoll{margin-left:auto;display:flex;align-items:center;gap:10px;max-width:510px;padding:8px 12px;border:1px solid #d9edff;border-radius:10px;background:#eef7ff;color:#0a59bc;font-size:10px}
.dcp-page .dcp-etoll b{display:block;color:#005add;font-size:11px}
.dcp-page .dcp-action-grid{display:grid;grid-template-columns:1.1fr 1.24fr .96fr;gap:12px;margin-top:6px}
.dcp-page .dcp-action-group{padding:10px 9px 9px;border-radius:13px;min-width:0}
.dcp-page .dcp-action-group.trip{background:linear-gradient(130deg,#e9fbf3,#eafbf1)}
.dcp-page .dcp-action-group.border{background:linear-gradient(130deg,#f7efff,#f7f0fc)}
.dcp-page .dcp-action-group.vehicle{background:linear-gradient(130deg,#eaf7ff,#eaf5fc)}
.dcp-page .dcp-action-group.crew{background:linear-gradient(135deg,#fff5e5,#fff6ed)}
.dcp-page .dcp-action-group.support{background:linear-gradient(135deg,#fff0f3,#fff0ef)}
.dcp-page .dcp-action-group-header{display:flex;align-items:center;gap:12px;margin:0 4px 8px}
.dcp-page .dcp-action-group-header .dcp-icon{width:29px;height:29px}
.dcp-page .dcp-action-group.trip .dcp-action-group-header{color:#008c58}
.dcp-page .dcp-action-group.border .dcp-action-group-header{color:#7835ee}
.dcp-page .dcp-action-group.vehicle .dcp-action-group-header{color:#0068f3}
.dcp-page .dcp-action-group.crew .dcp-action-group-header{color:#bd7210}
.dcp-page .dcp-action-group.support .dcp-action-group-header{color:#e50b38}
.dcp-page .dcp-action-group-header b{display:block;font-size:15px;font-weight:850}
.dcp-page .dcp-action-group-header small{display:block;color:#597da1;font-size:11px}
.dcp-page .dcp-action-buttons{display:grid;gap:5px;grid-template-columns:repeat(var(--dcp-cols,4),minmax(0,1fr))}
.dcp-page .dcp-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:75px;padding:9px 6px 7px;border:1px solid #eff5f8;border-radius:10px;background:#fff;color:#112a53;font-size:10px;font-weight:800;line-height:1.25;text-align:center;white-space:normal}
.dcp-page .dcp-tile:hover{background:#f9fffc;border-color:#bbd7e5;transform:translateY(-1px)}
.dcp-page .dcp-tile .dcp-icon{width:23px;height:23px;flex-basis:23px}
.dcp-page .dcp-action-group.trip .dcp-tile .dcp-icon{color:#008879}
.dcp-page .dcp-action-group.border .dcp-tile .dcp-icon{color:#654bff}
.dcp-page .dcp-action-group.vehicle .dcp-tile .dcp-icon{color:#0067ff}
.dcp-page .dcp-action-group.crew .dcp-tile .dcp-icon{color:#b97400}
.dcp-page .dcp-action-group.support .dcp-tile .dcp-icon{color:#f10b39}
.dcp-page .dcp-tile[data-state="done"]{border-color:#a6e8cd;background:#f5fcf8}
.dcp-page .dcp-tile[data-state="blocked"]::after{position:absolute;right:6px;top:4px;width:6px;height:6px;border-radius:50%;background:#e5b260;content:""}
.dcp-page .dcp-group-wide{grid-column:1 / -1}
.dcp-page .dcp-lower{display:grid;grid-template-columns:1.15fr 1.55fr;gap:12px;margin-top:11px}
.dcp-page .dcp-safety-note{font-size:11px;color:#7a8c9c;margin-top:10px;padding:9px 7px}
.dcp-page .dcp-detail-panel{margin-top:12px;padding:15px 18px}
.dcp-page .dcp-detail-header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#132c4e;font-size:15px;font-weight:830}
.dcp-page .dcp-subtabs{display:flex;gap:5px;margin:11px 0}
.dcp-page .dcp-subtabs button{padding:7px 12px;border:1px solid #e0e8ec;border-radius:8px;background:#fff;color:#245887;font-size:11px}
.dcp-page .dcp-subtabs button.is-active{background:#e5f9f3;border-color:#8ddacc;color:#005c5b}
.dcp-page .dcp-journal{display:grid;gap:6px}
.dcp-page .dcp-event{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 4px;border-bottom:1px solid #e8eef1;font-size:11px;color:#2d577e}
.dcp-page .dcp-event strong{display:block;color:#152a4d}
.dcp-page .dcp-event small{color:#7e96ac}
.dcp-page .dcp-event time{color:#6185aa;font-size:10px}
.dcp-page .dcp-muted{color:#7896a6;font-size:11px}
.dcp-page .dcp-legacy-shortcut{display:inline-flex;gap:7px;align-items:center;padding:6px 9px;border:1px solid #d1e4e8;border-radius:7px;background:#fbfefe;color:#295b78;font-weight:750}
.dcp-page .dcp-demo-flag{position:fixed;bottom:13px;right:18px;z-index:55;padding:5px 9px;border:1px solid #c9dfed;border-radius:20px;background:#fffefbeb;color:#557da0;font-size:9px;pointer-events:none}
@media(max-width:1510px){
 .dcp-page{grid-template-columns:180px minmax(0,1fr)}
 .dcp-page .dcp-side{width:180px}
 .dcp-page .dcp-header{padding-inline:18px;gap:11px}
 .dcp-page .dcp-head-title h1{font-size:25px}
 .dcp-page .dcp-head-title p{font-size:13px}
 .dcp-page .dcp-head-tools{gap:10px}
 .dcp-page .dcp-hero{grid-template-columns:94px minmax(255px,1fr) minmax(290px,1.05fr);padding-inline:10px}
 .dcp-page .dcp-mini-route{width:94px}
 .dcp-page .dcp-route-copy{padding-left:13px}
 .dcp-page .dcp-route-copy h2{font-size:20px}
 .dcp-page .dcp-instruments{grid-template-columns:1fr 1.08fr 1.03fr 1.01fr}
 .dcp-page .dcp-instrument{padding:12px 10px}
 .dcp-page .dcp-action-grid{grid-template-columns:1.06fr 1.25fr .99fr}
 .dcp-page .dcp-tile{font-size:9px}
}
@media(max-width:1250px){
 .dcp-page .dcp-overview{grid-template-columns:minmax(0,1.7fr) minmax(310px,1fr)}
 .dcp-page .dcp-hero{grid-template-columns:0 minmax(220px,1fr) minmax(240px,1.12fr)}
 .dcp-page .dcp-mini-route{display:none}
 .dcp-page .dcp-route-copy{padding-left:10px}
 .dcp-page .dcp-instruments{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dcp-page .dcp-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dcp-page .dcp-action-group.vehicle{grid-column:span 2}
 .dcp-page .dcp-action-group.vehicle .dcp-action-buttons{grid-template-columns:repeat(5,minmax(0,1fr))}
 .dcp-page .dcp-head-tools .dcp-header-date{display:none}
}
@media(max-width:960px){
 .dcp-page{grid-template-columns:74px minmax(0,1fr)}
 .dcp-page .dcp-side{width:74px;padding:8px 9px}
 .dcp-page .dcp-logo{height:65px;flex-basis:65px}
 .dcp-page .dcp-logo img{width:52px;height:58px;object-fit:cover;object-position:left;filter:brightness(1.5)}
 .dcp-page .dcp-side-link{justify-content:center;padding:10px 0;min-height:47px;flex-basis:47px}
 .dcp-page .dcp-side-link span:not(.dcp-icon):not(.dcp-badge),.dcp-page .dcp-side-logout span{display:none}
 .dcp-page .dcp-side-link .dcp-badge{position:absolute;right:0}
 .dcp-page .dcp-side-separator{margin-inline:3px}
 .dcp-page .dcp-side-logout{justify-content:center;padding:10px 0}
 .dcp-page .dcp-overview{grid-template-columns:minmax(0,1fr)}
 .dcp-page .dcp-hero{grid-template-columns:105px minmax(230px,1fr) minmax(290px,1.1fr)}
 .dcp-page .dcp-mini-route{display:flex}
 .dcp-page .dcp-instruments{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dcp-page .dcp-next{height:auto;min-height:178px}
 .dcp-page .dcp-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dcp-page .dcp-account{min-width:130px}
}
@media(max-width:690px){
 .dcp-page{grid-template-columns:minmax(0,1fr);padding-bottom:65px}
 .dcp-page .dcp-side{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:60px;min-height:60px;padding:4px 6px;flex-direction:row;justify-content:center;z-index:100}
 .dcp-page .dcp-logo,.dcp-page .dcp-side-logout,.dcp-page .dcp-side-separator{display:none}
 .dcp-page .dcp-side-links{width:100%;flex-direction:row;justify-content:space-around;gap:1px;overflow-x:auto;margin:0;max-width:none}
 .dcp-page .dcp-side-link{flex:0 0 50px;width:50px;min-height:50px;height:50px;justify-content:center}
 .dcp-page .dcp-header{height:76px;padding-inline:11px;gap:8px}
 .dcp-page .dcp-head-title h1{font-size:21px}
 .dcp-page .dcp-head-title p{font-size:11px}
 .dcp-page .dcp-account{min-width:60px;max-width:90px}
 .dcp-page .dcp-account-photo{width:39px;height:39px;flex-basis:39px}
 .dcp-page .dcp-account>div{display:none}
 .dcp-page .dcp-head-tools{gap:7px}
 .dcp-page .dcp-presence{font-size:0;padding:6px 9px}
 .dcp-page .dcp-presence:before{width:9px;height:9px}
 .dcp-page .dcp-header-date{display:none}
 .dcp-page .dcp-body{padding:8px 10px 25px}
 .dcp-page .dcp-hero{display:flex;flex-direction:column;height:auto;min-height:0;padding:11px}
 .dcp-page .dcp-mini-route{display:none}
 .dcp-page .dcp-route-copy{padding:5px 7px 8px}
 .dcp-page .dcp-route-copy h2{font-size:21px;margin-top:10px}
 .dcp-page .dcp-route-via{font-size:13px}
 .dcp-page .dcp-meta-row{margin:14px 0 6px;gap:6px 12px}
 .dcp-page .dcp-map{height:182px;width:100%}
 .dcp-page .dcp-instruments{grid-template-columns:1fr}
 .dcp-page .dcp-instrument{min-height:0}
 .dcp-page .dcp-partner-body{margin-top:7px}
 .dcp-page .dcp-partner-button{margin-top:13px}
 .dcp-page .dcp-overview{gap:9px}
 .dcp-page .dcp-actions-head{flex-wrap:wrap;gap:8px}
 .dcp-page .dcp-actions-head h2{font-size:20px}
 .dcp-page .dcp-etoll{max-width:100%;margin-left:0;width:100%}
 .dcp-page .dcp-action-grid{grid-template-columns:1fr}
 .dcp-page .dcp-action-group.vehicle{grid-column:auto}
 .dcp-page .dcp-action-group.vehicle .dcp-action-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}
 .dcp-page .dcp-lower{grid-template-columns:1fr}
 .dcp-page .dcp-demo-flag{bottom:70px;right:6px;max-width:200px}
}
@media(max-width:380px){
 .dcp-page .dcp-header{height:68px}
 .dcp-page .dcp-head-title h1{font-size:18px}
 .dcp-page .dcp-head-title p{font-size:9px}
 .dcp-page .dcp-action-group.vehicle .dcp-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dcp-page .dcp-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
 .dcp-page *{transition:none!important;animation:none!important}
}
.dcp-page .dcp-map-unavailable{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:18px;text-align:center;color:#476d8b;background:linear-gradient(120deg,#e9f3f4,#e3eff6)}
.dcp-page .dcp-map-unavailable strong{font-size:14px;color:#173b5b}
.dcp-page .dcp-map-unavailable small{font-size:11px;color:#6d899f}
.dcp-page .dcp-map:has(.dcp-map-unavailable) .dcp-map-zoom{display:none}


/*
 * Unified Chief Fleet Intelligence navigation — Driver Companion.
 * Keep the approved Driver Companion cockpit/content while reusing the exact
 * common 74px icon rail, menu destinations, active state and tooltips.
 * On small screens, expose the site's existing accessible drawer opener.
 */
body.cfi-command-design:has(.dcp-page){
 --cfi-command-rail:74px;
}
body.cfi-command-design:has(.dcp-page) .app-shell{
 padding-left:var(--cfi-command-rail);
}
body.cfi-command-design:has(.dcp-page) .sidebar{
 display:flex!important;
}
body.cfi-command-design:has(.dcp-page) .cfi-command-nav-backdrop{
 display:none!important;
}
.dcp-page{
 display:block;
 grid-template-columns:none;
 min-height:100dvh;
 padding-bottom:0;
}
.dcp-page .dcp-side{
 display:none!important;
}
.dcp-page .dcp-content{
 display:block;
 min-width:0;
 width:100%;
}
.dcp-page .dcp-local-navigation{
 display:flex;
 align-items:center;
 flex-wrap:nowrap;
 min-height:42px;
 padding:6px 13px 8px;
 gap:5px;
 overflow-x:auto;
 overflow-y:hidden;
 overscroll-behavior-x:contain;
 scrollbar-width:thin;
 scrollbar-color:#cfe3e2 transparent;
 background:#fff;
 border-bottom:1px solid #e6eff1;
}
.dcp-page .dcp-local-shortcut{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:6px;
 flex:0 0 auto;
 min-height:30px;
 padding:6px 12px;
 border:1px solid transparent;
 border-radius:9px;
 background:transparent;
 color:#416486;
 font-size:10px;
 font-weight:750;
 line-height:1.25;
 white-space:nowrap;
}
.dcp-page .dcp-local-shortcut:hover{
 border-color:#c8e6e3;
 background:#f1faf8;
 color:#025b65;
}
.dcp-page .dcp-local-shortcut.active{
 border-color:#b5e4db;
 background:#e7f8f3;
 color:#005d61;
}
.dcp-page .dcp-local-shortcut .dcp-icon{
 width:16px;
 height:16px;
 flex-basis:16px;
}
.dcp-page .dcp-shortcut-count{
 display:grid;
 place-items:center;
 width:16px;
 height:16px;
 border-radius:50%;
 background:#f02f4e;
 color:#fff;
 font-size:9px;
 font-weight:900;
}
@media (max-width:960px){
 .dcp-page{
  display:block;
  grid-template-columns:none;
 }
 .dcp-page .dcp-content{
  min-width:0;
  width:100%;
 }
}
@media (max-width:690px){
 .dcp-page{
  display:block;
  grid-template-columns:none;
  padding-bottom:0;
 }
 .dcp-page .dcp-demo-flag{
  bottom:9px;
  right:10px;
 }
 .dcp-page .dcp-local-navigation{
  padding-inline:8px;
  gap:4px;
 }
 .dcp-page .dcp-local-shortcut{
  min-height:36px;
  padding:7px 10px;
 }
}
@media (max-width:640px){
 body.cfi-command-design:has(.dcp-page){
  --cfi-command-rail:0px;
 }
 body.cfi-command-design:has(.dcp-page) .app-shell{
  padding-left:0;
 }
 body.cfi-command-design:has(.dcp-page) .app-shell .main{
  position:relative;
 }
 /* Keep the original mobile menu in the DOM, visible and focusable, so the
    existing menu open/close, inert background, backdrop and focus trap work. */
 body.cfi-command-design:has(.dcp-page) .topbar{
  display:flex!important;
  position:absolute;
  z-index:1600;
  top:14px;
  left:10px;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
 }
 body.cfi-command-design:has(.dcp-page) .topbar > :not(#mobile-menu){
  display:none!important;
 }
 body.cfi-command-design:has(.dcp-page) .topbar #mobile-menu{
  display:inline-flex!important;
  width:44px;
  min-width:44px;
  height:44px;
  flex:0 0 44px;
  align-items:center;
  justify-content:center;
  background:#f0faf7;
  border:1px solid #c6e1de;
  border-radius:11px;
  color:#0b5260;
 }
 body.cfi-command-design:has(.dcp-page) .cfi-command-nav-backdrop[hidden]{
  display:none!important;
 }
 body.cfi-command-design:has(.dcp-page) .cfi-command-nav-backdrop:not([hidden]){
  display:block!important;
  position:fixed;
  inset:0;
  z-index:1700;
 }
 .dcp-page .dcp-header{
  padding-left:62px;
 }
 .dcp-page .dcp-local-navigation{
  padding-block:5px;
 }
}


/* Driver Companion real-world street maps
 * Replaces concept SVG; uses the same self-hosted MapLibre runtime as Fleet Atlas.
 * Keep attribution and the sample-not-assigned disclosure visible.
 */
.dcp-page .dcp-map.dcp-map-real{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid #cddfde;
  border-radius:13px;
  background:linear-gradient(145deg,#e5eee8,#d6e4e4);
  box-shadow:inset 0 0 0 1px #ffffff88;
}
.dcp-page .dcp-map-real .dcp-real-route-map{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#e4eee8;
}
.dcp-page .dcp-map-real .maplibregl-map,
.dcp-page .dcp-map-real .maplibregl-canvas-container,
.dcp-route-dialog-map .maplibregl-map,
.dcp-route-dialog-map .maplibregl-canvas-container{
  width:100%;
  height:100%;
}
.dcp-page .dcp-map-real .maplibregl-control-container{
  pointer-events:none;
}
.dcp-page .dcp-map-real .dcp-map-zoom{
  z-index:11;
  right:10px;
  top:10px;
  border:1px solid #d1dbd7;
  box-shadow:0 7px 18px #17394c25;
}
.dcp-page .dcp-map-real .dcp-map-zoom button{
  width:32px;
  height:34px;
  color:#183e5b;
  cursor:pointer;
  background:#fff;
}
.dcp-page .dcp-map-real .dcp-map-zoom button:focus-visible{
  outline:3px solid #297ac8;outline-offset:-2px;
}
.dcp-page .dcp-map-real .dcp-map-zoom button:hover{background:#edf4f9}
.dcp-page .dcp-map-real .dcp-map-label{
  position:absolute;
  z-index:11;
  left:9px;bottom:9px;
  max-width:64%;
  white-space:normal;
  padding:5px 7px;
  border-radius:7px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(6px);
  color:#496878;
  font-size:9px;
  font-weight:800;
  line-height:1.3;
  pointer-events:none;
  box-shadow:0 3px 10px #152f3820;
}
.dcp-page .dcp-map-real .dcp-attribution,
.dcp-route-dialog-map .dcp-attribution{
  position:absolute;
  z-index:12;
  right:7px;
  bottom:5px;
  max-width:34%;
  text-align:right;
  padding:3px 4px;
  border-radius:4px;
  background:rgba(255,255,255,.88);
  color:#647e7d;
  font-size:8px;
  line-height:1.2;
  pointer-events:none;
}
.dcp-page .dcp-map-real .dcp-map-state,
.dcp-route-dialog-map .dcp-map-state{
  position:absolute;
  z-index:6;
  inset:0;
  display:grid;
  place-items:center;
  background:linear-gradient(125deg,rgba(239,246,242,.97),rgba(221,236,237,.95));
  padding:19px;
  text-align:center;
  color:#41677a;
  font-size:11px;
  font-weight:800;
  line-height:1.6;
}
.dcp-page .dcp-map-real .dcp-map-state[hidden],
.dcp-route-dialog-map .dcp-map-state[hidden]{display:none!important}
.dcp-page .dcp-map-real .dcp-map-state[data-state="offline"],
.dcp-route-dialog-map .dcp-map-state[data-state="offline"]{
  inset:auto 7px 31px;
  border-radius:9px;
  background:rgba(255,255,255,.92);
  padding:7px 12px;
  font-size:10px;
}
.dcp-page .dcp-map-real .dcp-map-state[data-state="offline"]~.dcp-map-label{
  display:none;
}
.dcp-page .dcp-mini-route{
  position:relative;
  border-radius:12px;
  border:1px solid #cde1dd;
  background:linear-gradient(165deg,#e3eee8,#d4e3e4);
  overflow:hidden;
  isolation:isolate;
}
.dcp-page .dcp-mini-route .dcp-mini-street-image{
  position:absolute;
  left:0;top:0;
  width:100%;
  height:100%;
  max-width:none;
  display:block;
  object-fit:cover;
  transform:rotate(-76deg) scale(2.0);
  transform-origin:50% 50%;
  opacity:1;
  filter:saturate(.93) contrast(1.06);
  pointer-events:none;
  transition:opacity .25s ease;
}
.dcp-page .dcp-mini-route .dcp-mini-street-image[hidden]{
  display:none!important;
}
.dcp-page .dcp-mini-route .dcp-mini-street-loading{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  width:100%;
  padding:10px;
  text-align:center;
  color:#648784;
  font-size:10px;
  font-weight:850;
  letter-spacing:.1px;
}
.dcp-page .dcp-mini-route .dcp-mini-street-loading[hidden]{
  display:none!important;
}
.dcp-page .dcp-mini-route:after{
  position:absolute;
  content:"";
  inset:0;
  box-shadow:inset 0 0 16px #255e5840;
  pointer-events:none;
}
.dcp-page .dcp-map .dcp-real-pin,
.dcp-route-dialog-map .dcp-real-pin{
  position:relative;
  display:flex;
  align-items:center;
  gap:5px;
  width:max-content;
  max-width:130px;
  filter:drop-shadow(0 2px 3px #173a384a);
  pointer-events:auto;
  cursor:help;
  transform:translate(50%,-1px);
}
.dcp-page .dcp-map .dcp-real-pin .dcp-pin-dot,
.dcp-route-dialog-map .dcp-real-pin .dcp-pin-dot{
  display:block;
  flex:0 0 auto;
  width:16px;
  height:16px;
  border-radius:50%;
  border:3px solid #fff;
  outline:2px solid #1b9c75;
  background:#139d70;
  box-shadow:0 2px 7px #0002;
}
.dcp-page .dcp-map .dcp-real-pin.end .dcp-pin-dot,
.dcp-route-dialog-map .dcp-real-pin.end .dcp-pin-dot{
  background:#f34764;
  outline-color:#e53c58;
}
.dcp-page .dcp-map .dcp-real-pin.border .dcp-pin-dot,
.dcp-route-dialog-map .dcp-real-pin.border .dcp-pin-dot{
  background:#fff;
  outline-color:#25599c;
}
.dcp-page .dcp-map .dcp-real-pin .dcp-pin-label,
.dcp-route-dialog-map .dcp-real-pin .dcp-pin-label{
  max-width:100px;
  overflow:hidden;
  text-overflow:ellipsis;
  padding:3px 6px;
  border-radius:6px;
  background:rgba(255,255,255,.92);
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
  line-height:1.2;
  color:#1b3854;
  box-shadow:0 2px 9px #124b4122;
}
.dcp-page .dcp-real-route-map .maplibregl-marker{
  z-index:5;
}
.dcp-page .dcp-map .dcp-map-offline,
.dcp-route-dialog-map .dcp-map-offline{
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(45deg,#e5f0ec,#e5f0ec 22px,#d7e6e5 24px);
}
.dcp-page .dcp-map .dcp-map-offline svg,
.dcp-route-dialog-map .dcp-map-offline svg{
  display:block;
  width:100%;
  height:100%;
}
.dcp-page .dcp-map .dcp-map-empty,
.dcp-route-dialog-map .dcp-map-empty{
  display:grid;
  place-items:center;
  padding:20px;
  height:100%;
  text-align:center;
  color:#5e7e8b;
  font-size:11px;
  font-weight:750;
}
.dcp-route-dialog-map{
  position:relative;
  margin-top:12px;
  width:100%;
  height:315px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid #d2e2df;
  background:#e3eee9;
}
.dcp-route-dialog-map .dcp-real-route-map{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
@media(max-width:950px){
  .dcp-page .dcp-map-real .dcp-map-label{font-size:8px;max-width:57%}
  .dcp-page .dcp-map-real .dcp-attribution{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
  .dcp-page .dcp-mini-route .dcp-mini-street-image{transition:none}
}


.dcp-page .dcp-document-line[data-document-state=missing] :is(.dcp-icon,strong){color:#74828e}
.dcp-page .dcp-document-line[data-document-state=expired] :is(.dcp-icon,strong){color:#c73c3c}
.dcp-page .dcp-unassigned{display:flex;align-items:center;min-height:200px}
.dcp-page .dcp-tile:disabled{opacity:.45;cursor:not-allowed}
