/* Vehicle presentation only. The shared shell, sprite, accounts and router remain in use. */
.app-shell:has(.vo-page){grid-template-columns:230px minmax(0,1fr);background:#fff}.app-shell:has(.vo-page) .sidebar{width:230px;background:#112a49;padding:22px 0}.app-shell:has(.vo-page) .content-shell{background:#fff}.app-shell:has(.vo-page) .main-content{max-width:1680px;padding:28px 28px 50px}.app-shell:has(.vo-page) .topbar{background:#fff;min-height:72px;border-bottom:1px solid #e2e6ed}.app-shell:has(.vo-page) .topbar h1{font-size:18px}.app-shell:has(.vo-page) .side-brand{padding:0 16px 22px;gap:10px;height:auto}.app-shell:has(.vo-page) .side-logo-panel{background:#fff;border-radius:12px;flex:0 0 44px;padding:5px;width:44px;height:44px}.app-shell:has(.vo-page) .side-brand img{width:34px;height:34px;object-fit:contain;mix-blend-mode:normal}.app-shell:has(.vo-page) .side-brand strong{font-size:18px}.app-shell:has(.vo-page) .side-brand small{font-size:12px}.app-shell:has(.vo-page) #nav{padding:22px 12px}.app-shell:has(.vo-page) .vo-sidebar-nav{display:grid;gap:8px;width:100%}.app-shell:has(.vo-page) .vo-sidebar-nav h2{color:#c7d2df;padding:0 12px;margin:0 0 12px;font-size:15px}.app-shell:has(.vo-page) #nav button{display:flex;gap:12px;min-height:56px;padding:12px 16px;font-size:18px;border-radius:8px;text-align:start;background:transparent;color:#e9eef5}.app-shell:has(.vo-page) #nav button span{width:auto;font-size:inherit}.app-shell:has(.vo-page) #nav button.active{background:#2b4260;border-inline-start:3px solid #d5a13a}.app-shell:has(.vo-page) #nav button.active:before{display:none}.app-shell:has(.vo-page) #nav .nav-svg{width:23px;height:23px;flex:none}.vo-page.vo-page{max-width:none;margin:0;color:#152b45;font-size:16px}.vo-page .ao-page-head{margin:0 0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;padding:0;border:0}.vo-page .ao-page-head h2{font-size:30px;line-height:1.4;margin:0 0 6px;color:#12283f;overflow-wrap:anywhere}.vo-page .ao-page-head p{font-size:15px;margin:0;color:#58687b}.vo-content{display:grid;gap:20px;min-width:0}.vo-content>p,.vo-content>h3{margin:0;overflow-wrap:anywhere}.vo-content>button{justify-self:start}.vo-page button{min-height:44px;line-height:1.4;border:1px solid #d8e0e9;border-radius:8px;background:#fff;color:#1a3553;padding:10px 15px;cursor:pointer}.vo-page button:hover{background:#f5f7fa}.vo-page button.primary,.vo-page #voFilter button[type=submit]{background:#c68b25;border-color:#c68b25;color:#fff;font-weight:700}.vo-page button:focus-visible,.vo-sidebar-nav button:focus-visible{outline:3px solid #347bc5;outline-offset:3px}.vo-page .nav-svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.vo-grid{display:grid;gap:12px}.vo-page .vo-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.vo-page .vo-metrics .vo-assignment{display:flex;flex-direction:column;justify-content:space-between;gap:14px;min-height:116px;padding:18px 14px;background:#fff;box-shadow:none}.vo-page .vo-metrics span{font-size:15px;line-height:1.5}.vo-page .vo-metrics strong{font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}.vo-page .vo-metrics section:nth-child(3){color:#a7670c}.vo-page .vo-metrics section:nth-child(5){color:#ac3434}.vo-page form{padding:22px;border:1px solid #dfe5ec;border-radius:12px;background:#fff;min-width:0}.vo-page label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:15px;line-height:1.5}.vo-page input,.vo-page select,.vo-page textarea{box-sizing:border-box;min-height:46px;min-width:0;max-width:100%;width:100%;border:1px solid #cdd6e1;border-radius:7px;padding:10px 12px;background:#fff;color:#192f48;font-size:16px}.vo-page input[type=checkbox]{min-height:auto;width:20px;height:20px;flex:none}.vo-page textarea{min-height:88px;resize:vertical}.vo-page .ao-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vo-page #voFilter{display:flex;align-items:end;gap:16px}.vo-search{flex:1.5;min-width:180px}.vo-filter-fields{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr)) auto;align-items:end;gap:14px;flex:4}.vo-page #voFilterToggle{display:none}.vo-task-panel{border:1px solid #dfe5ec;border-radius:12px;padding:20px;min-width:0}.vo-task-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.vo-task-panel h3{margin:0;font-size:21px}.vo-page .vo-task-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:15px}.vo-task-table th{text-align:start;font-weight:600;background:#fff;color:#52627a}.vo-task-table th,.vo-task-table td{padding:16px 10px;border-bottom:1px solid #e4e9ef;vertical-align:middle;overflow-wrap:anywhere}.vo-task-table th:nth-child(1){width:15%}.vo-task-table th:nth-child(2){width:18%}.vo-task-table th:nth-child(3){width:20%}.vo-task-table th:nth-child(4){width:6%}.vo-task-table th:nth-child(5){width:16%}.vo-task-table th:nth-child(6){width:13%}.vo-page .vo-card{color:#152b45;background:#fff;text-align:start}.vo-task-table .vo-card:last-child td{border-bottom:0}.vo-task-table .vo-group strong{font-size:17px;font-weight:700}.vo-task-table span,.vo-task-table small{display:block}.vo-task-table bdi,.vo-task-table .vo-crew span span{display:inline}.vo-task-table small{font-size:14px;color:#68788b;margin-top:6px}.vo-task-table .vo-time{font-size:14px;font-variant-numeric:tabular-nums}.vo-time>span+span,.vo-crew>span+span{margin-top:7px}.vo-page .vo-open button{border:0;color:#215c97;padding:8px 0;font-size:15px;background:none;text-align:start}.vo-open button span{display:inline}.vo-page .vo-badge{display:inline-flex;align-items:center;gap:6px;white-space:normal;font-size:14px;font-weight:650;line-height:1.5;padding:5px 9px;border-radius:6px;background:#fff3d9;color:#986008}.vo-badge:before{content:'';width:6px;height:6px;flex:none;border-radius:50%;background:currentColor}.vo-page .vo-green .vo-badge,.vo-page .vo-badge.vo-green{background:#e9f6ed;color:#257141}.vo-page .vo-red .vo-badge,.vo-page .vo-badge.vo-red{background:#fff0f0;color:#af3038}.vo-page .vo-neutral .vo-badge,.vo-page .vo-badge.vo-neutral{background:#edf0f3;color:#687383}.vo-warning{color:#a32929;background:#fff1ef;padding:14px;border-radius:8px}.vo-page .vo-allocation{display:grid;grid-template-columns:2fr 2fr 1fr auto;align-items:end;gap:14px;margin:16px 0;padding:18px;background:#f8fafc;border:1px solid #e1e6ed;border-radius:10px}.vo-assignment{padding:18px;border:1px solid #dde3eb;border-radius:12px;overflow-wrap:anywhere}.vo-page details{border:1px solid #dfe5ec;border-radius:9px;padding:14px 16px;min-width:0;background:#fff}.vo-page summary{cursor:pointer;font-size:16px;font-weight:600;min-height:24px}.vo-page details[open]>summary{margin-bottom:16px}.vo-page details p{overflow-wrap:anywhere}.vo-page #voAssign>label,.vo-page #voAssign>details{margin-top:18px}.vo-page .vo-notes label+label{margin-top:14px}.vo-page #voAdd{color:#996515;border-color:#d5b87f}.vo-page .vo-submit{display:flex;justify-content:flex-end;gap:12px;margin-top:22px;background:#fff}.vo-submit button{min-width:160px}.vo-actions{display:flex;gap:12px;flex-wrap:wrap}.vo-page fieldset{margin:20px 0;padding:14px;border:1px solid #dde3eb;border-radius:8px}.vo-page fieldset>label:has(input[type=checkbox]){display:inline-flex;flex-direction:row;align-items:center;margin:7px 18px 7px 0;min-height:36px}.vo-page #voResource>button{margin-top:18px}.vo-page [data-vo-page=resources] section{min-width:0}.vo-page .vo-content>section:not(.vo-task-panel):has([data-vo-edit-resource])>p{border:1px solid #e1e6ed;border-radius:10px;padding:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.vo-page [data-vo-edit-resource]{margin-inline-start:auto}.vo-page button.vo-card{display:flex;flex-direction:column;gap:12px;padding:20px;border-inline-start:3px solid #c79231}.vo-page[data-vo-page=profile] .vo-content{padding:28px;border:1px solid #dfe5ec;border-radius:12px;max-width:620px}.vo-page[data-vo-page=profile] .vo-content h3{font-size:26px}.vo-mobile-nav{display:none}.vo-page bdi{direction:ltr;unicode-bidi:isolate}.vo-page input[name=phone],.vo-page input[name=executionContactPhone],.vo-page input[name=plate],.vo-page input[type=datetime-local],.vo-page input[type=number]{direction:ltr;text-align:start}.vo-empty{text-align:center!important;padding:36px!important;color:#748196}
@media(max-width:1200px) and (min-width:761px){.app-shell:has(.vo-page) .main-content{padding:24px 18px}.vo-page #voFilter{flex-wrap:wrap}.vo-search{flex-basis:100%}.vo-page .vo-metrics{gap:8px}.vo-page .vo-metrics .vo-assignment{padding:14px 10px}.vo-task-panel{padding:14px}.vo-task-table th,.vo-task-table td{padding:14px 6px}}
@media(max-width:760px){.app-shell:has(.vo-page){display:block}.app-shell:has(.vo-page) .sidebar,.app-shell:has(.vo-page) #menuBtn,.app-shell:has(.vo-page) #mobileNavBackdrop{display:none!important}.app-shell:has(.vo-page) .content-shell{margin:0}.app-shell:has(.vo-page) .main-content{padding:20px 16px 0;width:100%;min-width:0}.app-shell:has(.vo-page) .topbar{height:70px;min-height:70px;padding:12px 16px;gap:10px}.app-shell:has(.vo-page) .topbar:before{content:'';display:block;width:36px;height:36px;flex:none;background:url('/assets/egypt-doudou-logo.png') center/contain no-repeat}.app-shell:has(.vo-page) .topbar-copy{display:block!important;margin:0!important;margin-inline-end:auto!important;min-width:0}.app-shell:has(.vo-page) .topbar h1{font-size:18px!important}.app-shell:has(.vo-page) .topbar .eyebrow,.app-shell:has(.vo-page) #topName,.app-shell:has(.vo-page) #topUser>span{display:none}.app-shell:has(.vo-page) #financeLanguageCurrent{display:none}.app-shell:has(.vo-page) #financeLanguageButton{min-width:42px;width:42px;height:44px;padding:8px}.vo-page.vo-page{padding:0 0 calc(100px + env(safe-area-inset-bottom));width:100%;min-width:0}.vo-page .ao-page-head{margin-bottom:18px;align-items:start}.vo-page .ao-page-head h2{font-size:27px!important;line-height:1.4}.vo-page .ao-page-head p{font-size:14px}.vo-content{gap:16px}.vo-page .vo-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vo-page .vo-metrics .vo-assignment{min-height:100px;padding:14px 16px;gap:8px}.vo-page .vo-metrics span{font-size:15px}.vo-page .vo-metrics strong{font-size:28px}.vo-page #voFilter{padding:0;border:0;display:block}.vo-search{display:flex;gap:10px;align-items:end;min-width:0}.vo-search label{flex:1;min-width:0}.vo-search input{padding-inline:10px}.vo-page #voFilterToggle{display:block;flex:none}.vo-filter-fields{display:none;margin-top:14px;padding:16px;border:1px solid #dfe5ec;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.vo-filter-fields.is-open{display:grid}.vo-filter-fields button{grid-column:1/-1}.vo-task-panel{border:0;padding:0;border-radius:0}.vo-task-panel>header{margin:4px 0 12px;align-items:start}.vo-task-panel>header button{font-size:13px;padding:8px;max-width:46%}.vo-task-panel h3{font-size:22px}.vo-page .vo-task-table,.vo-task-table tbody{display:block;width:100%}.vo-task-table thead{display:none}.vo-page .vo-task-table .vo-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 8px;border:1px solid #dce3eb;border-radius:10px;padding:16px;margin-bottom:14px}.vo-task-table .vo-card td{display:block;border:0;padding:0;min-width:0}.vo-task-table .vo-group{grid-column:1;grid-row:1}.vo-task-table .vo-group strong{font-size:19px}.vo-task-table .vo-group small{font-size:14px}.vo-task-table .vo-state{grid-column:2;grid-row:1;max-width:135px;text-align:end}.vo-task-table .vo-time{grid-column:1/-1;grid-row:2;font-size:15px}.vo-task-table .vo-time>span{display:flex;gap:10px;flex-wrap:wrap}.vo-task-table .vo-route{grid-column:1/-1;grid-row:3;font-size:16px;line-height:1.6}.vo-task-table .vo-pax{grid-column:1/-1;grid-row:4}.vo-task-table .vo-crew{grid-column:1/-1;grid-row:5;font-size:15px}.vo-task-table .vo-open{grid-column:1/-1;grid-row:6;border-top:1px solid #e6ebf0!important;padding-top:6px!important;text-align:end}.vo-page .vo-open button{width:100%;display:flex;justify-content:space-between;align-items:center}.vo-page form{padding:16px}.vo-page .ao-form-grid{grid-template-columns:1fr;gap:14px}.vo-page .vo-allocation{grid-template-columns:1fr;margin:16px 0;padding:14px;gap:14px}.vo-allocation [data-vo-remove]{justify-self:end}.vo-page #voAdd{width:100%}.vo-page #voAssign{padding:16px 0 0;border:0}.vo-page #voAssign h3{margin:0 0 18px;font-size:22px}.vo-page #voAssign .ao-form-grid{grid-template-columns:1fr}.vo-page .vo-submit{position:sticky;bottom:calc(88px + env(safe-area-inset-bottom));padding:12px 0;margin-top:20px;border-top:1px solid #e1e6ed;box-shadow:0 -5px 14px #112a490a;z-index:79;display:grid;grid-template-columns:1fr 1fr;gap:10px}.vo-submit button{min-width:0;min-height:50px;padding:10px 8px;font-size:15px}.vo-page .vo-mobile-nav{position:fixed;inset-inline:0;bottom:0;z-index:80;display:flex;align-items:stretch;justify-content:space-around;background:#fff;border-top:1px solid #dce3eb;padding:8px 4px calc(8px + env(safe-area-inset-bottom));min-height:82px;box-shadow:0 -3px 12px #132c4605}.vo-page .vo-mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;border:0;border-radius:0;background:#fff;flex:1;max-width:23%;min-width:0;padding:3px 2px;color:#273d56;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.vo-page .vo-mobile-nav button.is-active{color:#b87a18}.vo-page .vo-mobile-nav .nav-svg{width:25px;height:25px;flex:none}.vo-page[data-vo-page=profile] .vo-content{padding:22px}.vo-page .ao-page-head>[data-vo-return]{font-size:13px;max-width:35%;padding:8px}.vo-page input[type=datetime-local]{width:100%;min-height:48px}.vo-page .vo-content>button{max-width:100%;white-space:normal}}
/* Override the shared compact archive typography only within this workspace. */
#appView .main-content .vo-page :is(label,input,select,textarea,td){font-size:16px!important;line-height:1.5}#appView .main-content .vo-page th{font-size:14px!important}#appView .main-content .vo-page :is(th,td){white-space:normal}#appView .main-content .vo-page button{font-size:15px!important}#appView:has(.vo-page) .topbar .topbar-copy h1{font-size:18px!important}#appView:has(.vo-page) .topbar #financeLanguageSwitcher{margin-inline-start:auto}#appView:has(.vo-page) .topbar #topUser{margin-inline-start:18px}#appView:has(.vo-page) .vo-sidebar-nav button{font-weight:600!important;font-size:18px!important}#appView:has(.vo-page) .main-content{background:#fff}.vo-task-table .vo-route span{white-space:normal}
@media(max-width:760px){#appView .main-content .vo-page .vo-mobile-nav button{font-size:12px!important}#appView:has(.vo-page) .topbar #topUser{margin-inline-start:0}#appView .main-content .vo-page .vo-task-table .vo-card{gap:10px 8px}#appView .main-content .vo-page .vo-task-table .vo-card td{line-height:1.5;min-height:0}}
@media(max-width:760px){.vo-page .vo-submit{bottom:calc(var(--vo-nav-height,82px) + 6px)}.vo-page.vo-page{padding-bottom:calc(var(--vo-nav-height,82px) + 24px)}}
@media(max-width:760px){.vo-page .vo-submit{position:fixed;inset-inline:16px;margin:0;bottom:var(--vo-nav-height,82px);padding:12px 0;box-shadow:0 -8px 18px #fff}.vo-page:has(#voAssign){padding-bottom:calc(var(--vo-nav-height,82px) + 112px)}}

#appView .main-content .vo-page button.primary{background:#c68b25!important;border-color:#c68b25!important;color:#fff!important;box-shadow:none!important}#appView .main-content .vo-page select[name=vehicleId]{direction:ltr}

.vo-page .vo-reference{margin:0}.vo-page .vo-reference>.brief-itinerary,.vo-page .vo-reference>.oc-execution{margin:12px 0 0}.vo-page .vo-reference .panel{max-width:100%;min-width:0}.vo-page .oc-card-summary{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:14px;color:#617187}.vo-task-table .oc-card-summary{display:grid;margin-top:8px}.vo-page .vo-content>.oc-card-summary:empty{display:none}
/* Shared archive reset uses !important; retain real scroll space below both fixed bars. */
@media(max-width:760px){#appView #mainContent .vo-page{padding-bottom:calc(var(--vo-nav-height,82px) + 24px)!important}#appView #mainContent .vo-page:has(#voAssign){padding-bottom:calc(var(--vo-nav-height,82px) + 112px)!important}}

/* Keep actual itinerary names visible and compact beside the task route. */
.vo-page .vo-core{margin:8px 0 0;padding:8px 0 0;border-top:1px solid #e5e9ee;display:grid;gap:4px;line-height:1.45}
.vo-page .vo-core>strong{font-size:14px;color:#243d56}.vo-page .vo-core-day{display:grid;gap:2px;min-width:0}.vo-page .vo-core-day>bdi{font-size:12px;color:#617187}.vo-page .vo-core span{overflow-wrap:anywhere;white-space:normal}
@media(max-width:760px){
 #appView .main-content .vo-page .vo-task-table tbody{gap:10px}
 #appView .main-content .vo-page .vo-task-table .vo-card{padding:12px;gap:4px 8px}
 #appView .main-content .vo-page .vo-task-table .vo-card td{padding:0!important;background:transparent!important}
 .vo-task-table .vo-time{display:flex;flex-wrap:wrap;gap:4px 14px}
 .vo-task-table .vo-time>span{gap:4px}
 .vo-task-table .vo-route>small:empty{display:none}
 .vo-task-table .vo-pax{grid-column:1;grid-row:4}.vo-task-table .vo-crew{grid-column:2;grid-row:4;text-align:end}
 .vo-task-table .vo-open{grid-row:5}.vo-page .vo-open button{min-height:36px;padding:5px 0}
 .vo-page .vo-core{margin-top:4px;padding-top:5px;gap:3px}
}

/* Vehicle resource, schedule filter and view mode share one mobile row. */
@media (max-width: 760px) {
  #appView .vo-calendar .guide-calendar-filter-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  #appView .vo-calendar .guide-calendar-filter-row label {
    min-width: 0;
  }
  #appView .vo-calendar .guide-calendar-filter-row .vo-calendar-search {
    grid-column: 1/-1;
  }
}

/* Compact vehicle records; the action remains a full touch target at the edge. */
@media (max-width: 760px) {
  #appView .vo-page #voResourceRows[data-type='vehicle'] .vo-resource-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 4px 8px;
    padding: 10px 12px;
    margin-bottom: 8px;
    align-items: center;
  }
  #appView .vo-page #voResourceRows[data-type='vehicle'] .vo-resource-row td:nth-child(1),
  #appView .vo-page #voResourceRows[data-type='vehicle'] .vo-resource-row td:nth-child(2),
  #appView .vo-page #voResourceRows[data-type='vehicle'] .vo-resource-row td:nth-child(5) {
    grid-column: 1/3;
  }
  #appView .vo-page #voResourceRows[data-type='vehicle'] .vo-resource-row td:before {
    display: none;
  }
  #appView .vo-page #voResourceRows[data-type='vehicle'] .vo-resource-row td:nth-child(3):before {
    display: inline;
    content: attr(data-label) ' ';
    font-size: 12px;
  }
  #appView .vo-page #voResourceRows[data-type='vehicle'] .vo-resource-row td:last-child {
    grid-column: 3;
    grid-row: 1/5;
    align-self: center;
  }
  #appView .vo-page #voResourceRows[data-type='vehicle'] .vo-resource-row td:last-child button {
    width: auto;
    min-height: 44px;
    padding: 8px;
    font-size: 13px !important;
    white-space: nowrap;
  }
  #appView .vo-page #voResourceRows[data-type='vehicle'] .vo-resource-row td:not(:first-child) {
    font-size: 13px !important;
    line-height: 1.35;
  }
}

@media (max-width: 760px) {
  #appView .vo-page[data-vo-page='dashboard'] {
    gap: 10px;
  }
  #appView .vo-page[data-vo-page='dashboard'] .ao-page-head {
    margin-bottom: 0;
  }
  #appView .vo-page[data-vo-page='dashboard'] .ao-page-head h2 {
    margin-bottom: 0;
  }
}

.vo-calendar-categories {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.vo-calendar-categories button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 10px;
  font-size: 14px;
}
.vo-calendar-categories [aria-pressed='true'] {
  background: #fff4dd;
  border-color: #c68b25;
  color: #875b13;
}
.vo-calendar-categories bdi {
  font-weight: 700;
}
.vo-calendar-categories span {
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  .vo-calendar-categories {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
  }
  .vo-calendar-categories button {
    flex-direction: column;
    padding: 8px 3px;
    font-size: 13px !important;
    gap: 3px;
    min-height: 48px;
  }
}

#appView .vo-page .vo-resource-actions .vo-library-tab {
  color: #162638;
  font-size: 16px !important;
  font-weight: 700;
}
#appView .vo-page .vo-resource-actions .vo-library-add {
  background: #c68b25;
  border: 1px solid #c68b25;
  color: #fff;
  font-weight: 600;
}
@media (max-width: 760px) {
  #appView .vo-page .vo-resource-actions .vo-library-tab {
    font-size: 14px !important;
  }
  #appView .vo-page .vo-resource-actions .vo-library-add {
    font-size: 13px !important;
  }
}
.vo-page .vo-metrics>button{text-align:start;display:grid;gap:8px;cursor:pointer}.vo-page .vo-metrics>button:hover{border-color:#c68b25;background:#fffaf0}.vo-page .vo-filter-active{display:flex;justify-content:space-between;align-items:center;gap:12px}
/* Simplified dispatch: four actionable stages, two independent resource pickers. */
.vo-calendar{display:grid;gap:12px;min-width:0}.vo-calendar .guide-calendar-toolbar>label{flex:1;min-width:140px}.vo-calendar .guide-calendar-toolbar>.archive-segmented-tabs{align-self:center}#appView .vo-calendar .guide-calendar-person>header{border-right:0;border-inline-end:1px solid var(--archive-line)}.vo-calendar .guide-calendar-person>header button,.vo-calendar .guide-calendar-slot{text-align:start!important}.vo-calendar .guide-calendar-person>header{flex-wrap:wrap}.vo-calendar .guide-calendar-slot bdi{overflow-wrap:anywhere}.vo-calendar .guide-calendar-slot :is(span,small){font-size:14px!important;line-height:1.45}.vo-calendar .guide-calendar-person>header small{font-size:13px}.vo-calendar-pending>button{display:block;width:100%;margin-top:8px;text-align:start}.vo-calendar .guide-calendar-range{font-size:14px!important}.vo-calendar .archive-segmented-tabs>button.is-active{background:#c68b25!important;color:white!important}.vo-calendar [data-vo-calendar-slot].vo-yellow{border-inline-start:3px solid #c68b25}.vo-calendar [data-vo-calendar-slot].vo-red{border-inline-start:3px solid #b33a36}
@media(max-width:760px){#appView .vo-calendar .guide-calendar-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px}#appView .vo-calendar .guide-calendar-toolbar>.archive-segmented-tabs{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}#appView .vo-calendar .guide-calendar-toolbar>label{min-width:0;width:100%;font-size:14px}#appView .vo-calendar .guide-calendar-toolbar :is(input,select){min-width:0;max-width:100%;min-height:44px;font-size:16px}#appView .vo-calendar .guide-calendar-person{grid-template-columns:minmax(0,1fr)}#appView .vo-calendar .guide-calendar-person>header{border-inline-end:0;border-bottom:1px solid var(--archive-line);padding:12px}#appView .vo-calendar .guide-calendar-slots{grid-template-columns:minmax(0,1fr);padding:10px}#appView .vo-calendar .guide-calendar-slot{padding:10px;gap:5px}}
.vo-page .vo-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.vo-page .vo-metrics .vo-assignment{min-height:88px;padding:12px 16px}.vo-page .vo-allocation{grid-template-columns:1fr 1fr;align-items:start;padding:12px;margin:10px 0}.vo-picker{display:grid;gap:8px;min-width:0}.vo-selected{margin:0;overflow-wrap:anywhere}.vo-selected small{display:block;color:#9c6516}.vo-split{display:none}.vo-multiple .vo-split{display:flex;gap:12px;align-items:end;grid-column:1/-1}.vo-page .vo-submit{grid-template-columns:1fr}.vo-page .vo-submit button{width:100%}.vo-page .vo-task-table .vo-pax span{display:inline}.vo-page #voResourceRows{display:grid;gap:10px}.vo-page .vo-assignment p{margin:6px 0}.vo-page dialog,.vo-page.ao-dialog{max-height:85dvh;overflow:auto;width:min(640px,92vw);padding:18px}.vo-page #voResource{padding:12px}.vo-page #voResource>button{margin-top:12px}.vo-page #voExistingDrivers{display:grid;gap:6px;margin:12px 0}.vo-page [hidden]{display:none!important}.vo-page button:disabled{opacity:.55;cursor:not-allowed}.vo-page .vo-other-reason{margin-top:10px}.vo-page [data-vo-page=detail] small{display:block;overflow-wrap:anywhere}
@media(max-width:760px){.vo-page .vo-metrics{grid-template-columns:1fr 1fr}.vo-page .vo-allocation{grid-template-columns:1fr;gap:14px}.vo-page .vo-picker{gap:6px}.vo-page .vo-content{gap:10px}.vo-page .vo-metrics .vo-assignment{min-height:80px}.vo-page .vo-task-table .vo-state{max-width:118px}}

.vo-page .vo-resource-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;max-width:680px}.vo-page .vo-resource-actions>button{min-width:0;padding:10px 4px;font-size:14px;overflow-wrap:anywhere}

@media(max-width:760px){#appView .vo-calendar .guide-calendar-toolbar>label:has(#voCalendarDate){grid-column:1/-1}}

/* Pair source, search and selection rows for dispatch on every screen size. */
.vo-page .vo-allocation{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}
.vo-page .vo-picker{grid-row:1 / span 4;grid-template-rows:subgrid;row-gap:8px}
.vo-page .vo-picker[data-resource-type=driver]{grid-column:1}.vo-page .vo-picker[data-resource-type=vehicle]{grid-column:2}
.vo-page .vo-picker :is(input,select){padding-inline:8px;min-width:0;width:100%}
.vo-page .vo-picker .vo-selected{min-width:0;overflow-wrap:anywhere}

/* Compact resource workspace: library tabs, actions, filters and records. */
#appView .vo-page[data-vo-page=resources] .ao-page-head{margin-bottom:22px}
#appView .vo-page[data-vo-page=resources] .ao-page-head h2{font-size:28px;line-height:1.3;margin:0}
#appView .vo-page .vo-resource-actions{display:flex;align-items:stretch;gap:12px;max-width:none;padding-bottom:0;border-bottom:1px solid #dde3eb}
#appView .vo-page .vo-resource-actions>button{flex:0 0 auto;min-width:140px;min-height:44px;padding:10px 18px;border-radius:7px;font-size:15px!important}
#appView .vo-page .vo-resource-actions .vo-library-tab{border:0;border-bottom:3px solid transparent;border-radius:7px 7px 0 0;background:transparent;color:#7a8797;font-weight:600;display:flex;justify-content:center;align-items:center;gap:8px}
#appView .vo-page .vo-resource-actions .vo-library-tab.is-selected{color:#18334e;background:#faf5eb;border-bottom-color:#c68b25}
#appView .vo-page .vo-resource-actions #voAddDriver{margin-inline-start:auto}
#appView .vo-page .vo-resource-actions .vo-library-add{margin-bottom:8px}
#appView .vo-page .vo-resource-actions .primary{background:#c68b25;border-color:#c68b25;color:#fff}
.vo-library-panel{padding:20px;border:1px solid #dce3ec;border-radius:12px;min-width:0;background:#fff}
.vo-library-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.vo-page .vo-library-filters>label{display:flex;flex-direction:row;align-items:center;gap:14px;white-space:nowrap}
.vo-library-search>span:first-child{flex:none;font-weight:600}
.vo-search-input{position:relative;display:block;flex:1;min-width:0}
.vo-search-input svg{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;stroke:#8995a5;stroke-width:1.7;fill:none;pointer-events:none}
.vo-page .vo-search-input input{padding-inline-start:40px;min-height:44px}
.vo-page .vo-library-filters select{width:170px;min-height:44px}
.vo-library-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 14px}
.vo-library-heading h3{margin:0;font-size:19px;font-weight:650}
.vo-page .vo-library-heading .vo-record-add{border:0;background:none;padding:4px;color:#235d94;font-size:14px!important;min-height:36px}
.vo-library-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;border:1px solid #e6ebf1;border-radius:9px;overflow:hidden}
.vo-library-table th{text-align:start;padding:14px 16px;background:#f0f4f8;color:#52657b;font-size:14px;font-weight:600}
.vo-library-table th:nth-child(1){width:19%}.vo-library-table th:nth-child(2){width:23%}.vo-library-table th:nth-child(3){width:18%}
.vo-library-table .vo-resource-row{border:0;border-radius:0;padding:0;background:#fff}
.vo-library-table td{padding:14px 16px;vertical-align:middle;overflow-wrap:anywhere;border-bottom:1px solid #e9edf2}
.vo-library-table tr:last-child td{border-bottom:0}
.vo-library-table .vo-resource-row:hover{background:#fcfcfd}
.vo-page .vo-library-table [data-vo-edit-resource]{border:0;background:none;color:#235d94;padding:5px 0;min-height:36px;white-space:normal;text-align:start}
.vo-resource-status{display:inline-flex;align-items:center;gap:6px;font-size:14px}.vo-resource-status:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.vo-resource-status.is-enabled{color:#287447}.vo-resource-status.is-disabled{color:#7b8796}
.vo-license-note{display:block;font-size:12px;color:#986521;margin-top:4px}
.vo-library-table .vo-library-empty{text-align:center;padding:44px 20px 48px;height:240px}
.vo-library-empty .nav-svg{display:block;width:48px;height:48px;margin:0 auto 16px;color:#8b97a6}
.vo-library-empty strong{font-size:17px;font-weight:650}.vo-library-empty p{margin:10px 0 0;color:#7f8d9f;font-size:14px;line-height:1.7}
@media(max-width:760px){
 #appView .vo-page[data-vo-page=resources] .ao-page-head{margin-bottom:14px}
 #appView .vo-page[data-vo-page=resources] .ao-page-head h2{font-size:24px}
 #appView .vo-page .vo-resource-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
 #appView .vo-page .vo-resource-actions>button{min-width:0;padding:8px 3px;font-size:12px!important;min-height:48px;line-height:1.35}
 #appView .vo-page .vo-resource-actions .vo-library-tab{gap:3px;flex-wrap:wrap}
 #appView .vo-page .vo-resource-actions #voAddDriver{margin-inline-start:0}
 #appView .vo-page .vo-resource-actions .vo-library-add{margin-bottom:5px}
 .vo-library-panel{padding:12px;border-radius:10px}
 .vo-library-filters{grid-template-columns:minmax(0,1fr) minmax(92px,.65fr);gap:10px;align-items:end}
 .vo-page .vo-library-filters>label{flex-direction:column;align-items:stretch;gap:6px;white-space:normal;font-size:14px}
 .vo-page .vo-library-filters select{width:100%;padding-inline:7px}
  .vo-page .vo-library-filters input,
  .vo-page .vo-library-filters select {
    box-sizing: border-box;
    height: 48px;
    min-height: 48px;
  }
 .vo-page .vo-search-input input{padding-inline-start:30px;padding-inline-end:6px}
 .vo-search-input svg{inset-inline-start:8px;width:16px;height:16px}
 .vo-library-heading{margin:18px 0 12px;align-items:start}.vo-library-heading h3{font-size:17px}
 .vo-library-table,.vo-library-table tbody{display:block;border:0}
 .vo-library-table thead{display:none}
 .vo-library-table .vo-resource-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border:1px solid #e1e7ee;border-radius:8px;margin-bottom:10px}
 .vo-library-table td{display:block;padding:0;border:0;min-width:0}
 .vo-library-table .vo-resource-row td:first-child{grid-column:1/-1;font-size:17px!important}
 .vo-library-table .vo-resource-row td:not(:first-child):before{content:attr(data-label);display:block;color:#7b8795;font-size:12px;margin-bottom:4px}
 .vo-library-table tr:has(.vo-library-empty){display:block}
 .vo-library-table .vo-library-empty{display:block;height:auto;min-height:200px;padding:28px 10px}
}
#appView .main-content .vo-page .vo-library-table th{background:#f0f4f8;padding:14px 16px}
@media(max-width:760px){
 #appView .main-content .vo-page .vo-library-table .vo-resource-row td{padding:0!important;min-height:0;background:transparent!important}
}

/* Assignment detail: persistent itinerary, resource choices in modal drawers. */
#appView .vo-page[data-vo-page=detail] .ao-page-head{margin-bottom:14px}
#appView .vo-page[data-vo-page=detail] .ao-page-head>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#appView .vo-page[data-vo-page=detail] .ao-page-head h2{margin:0;font-size:28px}
.vo-page[data-vo-page=detail] .vo-content{gap:14px;max-width:960px}
.vo-page .vo-task-overview{border:1px solid #dfe5ec;background:#fff;border-radius:12px;padding:16px;min-width:0}
.vo-page .vo-task-overview>p{margin:0 0 10px;font-size:14px;line-height:1.6}
.vo-page .vo-task-overview>h3{font-size:19px;line-height:1.5;margin:0 0 8px;overflow-wrap:anywhere}
.vo-page .vo-task-overview .vo-core{border-top:1px solid #e5e9ef;padding-top:12px;margin-top:12px;font-size:15px}
.vo-page [data-upstream-pending]{background:#fff6e4;color:#8d5a10;padding:12px;margin:0;font-size:14px;line-height:1.6}
#appView .vo-page #voAssign{border:0;padding:0;background:transparent}
.vo-page #voAssign>h3{font-size:20px;margin:0 0 12px}
#appView .vo-page .vo-allocation{padding:0;margin:0;gap:12px;border:0;background:transparent;grid-template-columns:repeat(2,minmax(0,1fr))}
#appView .vo-page .vo-allocation+.vo-allocation{margin-top:14px}
#appView .vo-page .vo-picker{display:block;grid-row:auto;min-width:0}
#appView .vo-page .vo-pick-card{display:flex;align-items:start;gap:10px;text-align:start;width:100%;height:100%;padding:14px 12px;border:1px solid #e0e6ed;border-radius:10px;background:#fff}
.vo-page .vo-pick-card>.nav-svg{flex:none;width:23px;height:23px;margin-top:2px;color:#65758a}
.vo-pick-content{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:15px;overflow-wrap:anywhere}
.vo-page .vo-pick-card .vo-selected{font-size:14px;color:#637186;line-height:1.5}
.vo-page .vo-selected small{display:block;font-size:12px;color:#637186}
.vo-page .vo-pick-link{font-size:14px;color:#9d6a17;font-weight:600}
.vo-page .vo-pick-card.has-selection{border-color:#d6bb89;background:#fffcf6}
.vo-page .vo-pick-card.has-selection .vo-selected{color:#152b45}
.vo-page .vo-license-note{color:#9c6516!important}
#appView .vo-page[data-vo-page=detail] .vo-submit{position:sticky;inset-inline:auto;bottom:0;display:flex;flex-direction:column;gap:8px;padding:12px 0;margin:0;background:#fff;box-shadow:none;z-index:3}
.vo-page .vo-submit-note{margin:0;color:#826020;font-size:13px;line-height:1.5}
.vo-page .vo-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Native modal dialog supplies focus trapping, Escape and background isolation. */
dialog.vo-page.vo-resource-drawer{box-sizing:border-box;position:fixed;inset:auto 0 0;margin:0 auto;padding:16px 20px max(18px,env(safe-area-inset-bottom));width:min(560px,100%);max-width:100%;max-height:85dvh;max-height:min(85dvh,760px);border:1px solid #e2e7ed;border-radius:18px 18px 0 0;background:#fff;color:#152b45;overflow:hidden;box-shadow:0 -12px 50px #10263d26}
dialog.vo-resource-drawer[open]{display:flex;flex-direction:column;gap:14px}
.vo-resource-drawer::backdrop{background:rgba(17,31,47,.48)}
.vo-drawer-handle{height:5px;width:44px;border-radius:5px;background:#cbd3df;flex:none;align-self:center}
.vo-resource-drawer header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}
.vo-resource-drawer header h3{font-size:22px;margin:0}
.vo-page.vo-resource-drawer [data-picker-close]{font-size:28px;line-height:1;padding:0;width:44px;border:0;background:transparent}
.vo-drawer-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;border:1px solid #dfe5ed;border-radius:9px;gap:3px;flex:none}
.vo-page .vo-drawer-sources button{border:0;font-size:14px;padding:8px;min-width:0}
.vo-page .vo-drawer-sources button[aria-pressed=true]{background:#c68b25;color:#fff;font-weight:600}
.vo-page .vo-drawer-search{flex:none}.vo-page .vo-drawer-search input{background:#f7f9fb;min-height:46px}
.vo-drawer-results{overflow-y:auto;overscroll-behavior:contain;min-height:100px;max-height:45dvh;display:flex;flex-direction:column;gap:8px;padding:2px}
.vo-page .vo-drawer-result{display:flex;flex-direction:row;gap:12px;align-items:center;padding:12px;border:1px solid #e6eaf0;border-radius:9px;cursor:pointer;flex:none}
.vo-page .vo-drawer-result.is-selected{background:#fff8ea;border-color:#d8b76e}
.vo-page .vo-drawer-result input{width:20px;height:20px;min-height:20px;margin:0;padding:0;flex:none;accent-color:#bb831f}
.vo-drawer-result>span{min-width:0;overflow-wrap:anywhere}.vo-drawer-result strong{display:block;font-size:16px}.vo-drawer-result small{display:block;color:#65758b;font-size:13px;line-height:1.5;margin-top:3px}
.vo-drawer-empty{text-align:center;color:#65758b;padding:20px 12px;font-size:15px}
.vo-resource-drawer footer{flex:none;border-top:1px solid #e8ecf0;padding-top:12px}.vo-resource-drawer footer button{width:100%}
@media(max-width:760px){
 #appView .vo-page[data-vo-page=detail] .vo-submit{position:fixed;inset-inline:12px;bottom:var(--vo-nav-height,82px)}
 #appView #mainContent .vo-page[data-vo-page=detail]:has(#voAssign){padding-bottom:calc(var(--vo-nav-height,82px) + var(--vo-submit-height,112px) + 24px)!important}
 #appView .vo-page[data-vo-page=detail] .ao-page-head h2{font-size:26px}
 .vo-page[data-vo-page=detail] .vo-content{gap:12px}
 .vo-page .vo-task-overview{padding:14px}
 .vo-page[data-vo-page=detail] .vo-actions{gap:8px}.vo-page[data-vo-page=detail] .vo-actions button{font-size:12px;padding:8px 10px}
 dialog.vo-page.vo-resource-drawer{padding-inline:16px}
 #appView .vo-page .vo-pick-card{gap:7px;padding:12px 10px}
}

/* Compact task overview: prose stays inline; translation feedback is shared by the list. */
.vo-task-list{min-width:0}
.vo-task-list [data-bt-status]{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:10px;color:#79633f;font-size:13px;line-height:1.5}
.vo-task-list [data-bt-status][hidden]{display:none}
.vo-page .vo-task-list [data-bt-status] button{border:0;background:transparent;min-height:32px;padding:3px 6px;font-size:13px!important;color:#846018}
.vo-task-table .bt-note,.vo-task-table .bt-note>span{display:inline;white-space:normal}
.vo-task-table .vo-core-day>span>span{display:inline}
.vo-task-table .vo-core{border-top:0;padding-top:0;margin-top:5px;gap:2px}
.vo-task-table .vo-core>strong{font-size:12px;color:#68788b;font-weight:500}
.vo-task-table .vo-core-day{gap:1px}
@media(min-width:761px){
 .vo-task-table th:nth-child(1){width:10%}.vo-task-table th:nth-child(2){width:16%}.vo-task-table th:nth-child(3){width:27%}.vo-task-table th:nth-child(4){width:10%}.vo-task-table th:nth-child(5){width:15%}.vo-task-table th:nth-child(6){width:12%}.vo-task-table th:nth-child(7){width:10%}
 .vo-task-table th,.vo-task-table td{vertical-align:top;padding:14px 10px;overflow-wrap:break-word}
 .vo-task-table .vo-time>span{display:block}
 .vo-task-table .vo-time bdi{white-space:nowrap}
 .vo-task-table .vo-state .vo-badge{display:inline-flex;white-space:nowrap}
 .vo-task-table .vo-open button{padding:0;min-height:32px}
 .vo-task-table small{margin-top:3px;font-size:12px}
 #appView .main-content .vo-page .vo-task-table td{font-size:14px!important}
}

/* RTL starts grid tracks on the right. Reserve the actual shared navigation
   rail before the vehicle workspace; the owner shell already owns its grid. */
@media (min-width: 761px) {
  html[dir='rtl'] #appView.app-shell:not(.owner-desktop-user):has(.vo-page) {
    grid-template-columns: var(--archive-sidebar-width, 230px) minmax(0, 1fr);
  }
  html[dir='rtl'] #appView.app-shell:not(.owner-desktop-user):has(.vo-page) .content-shell {
    grid-column: 2;
  }
}

/* Boss workspaces keep their department menus inside the main content. */
#appView .vo-owner-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 100%;
  margin: 0 0 20px;
}
#appView .vo-owner-nav button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid #d8e0e9;
  border-radius: 7px;
  background: #fff;
  color: #112a49;
  font-size: 14px;
}
#appView .vo-owner-nav button.is-active {
  background: #112a49;
  color: #fff;
  border-color: #112a49;
}
#appView .vo-owner-nav svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}
#appView:is(.owner-desktop-user, .owner-mobile-user) .vo-mobile-nav {
  display: none;
}
