/* Rawahil visual theme for the existing application. No navigation or data logic lives here. */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Tajawal:wght@400;500;600;700;800;900&display=swap');

html:has(.novex-shell),body:has(.novex-shell),body:has(.novex-shell) #root{background:#f4f7fb!important}
body:has(.novex-shell) .novex-shell{
  --rw-base:#f4f7fb;--rw-surface:#fff;--rw-card:#fff;--rw-hover:#edf3f8;
  --rw-border:#dce6ef;--rw-border-fine:#c9d7e5;--rw-teal:#0d9488;
  --rw-teal-light:#0b766e;--rw-text:#173047;--rw-muted:#52677c;--rw-subtle:#70849a;
  --rw-hero-start:#eefaf7;--rw-hero-end:#f8fbff;
  --rw-blue:#215eaf;--rw-red:#ad3444;--rw-gold:#8c640f;--rw-positive:#087b62;
  color:var(--rw-text)!important;background:var(--rw-base)!important;
  font-family:Tajawal,NovexDubai,'Noto Sans Arabic',sans-serif!important;
  letter-spacing:normal!important
}
html[data-rw-theme=dark]:has(.novex-shell),
html[data-rw-theme=dark] body:has(.novex-shell),
html[data-rw-theme=dark] body:has(.novex-shell) #root{background:#090a0f!important}
html[data-rw-theme=dark] body:has(.novex-shell) .novex-shell{
  --rw-base:#090a0f;--rw-surface:#0d1017;--rw-card:#121622;--rw-hover:#192030;
  --rw-border:#1e2638;--rw-border-fine:#2a354c;--rw-teal:#14b8a6;
  --rw-teal-light:#2dd4bf;--rw-text:#edf1f7;--rw-muted:#a8b4c5;--rw-subtle:#8b99ac;
  --rw-hero-start:#121c25;--rw-hero-end:#0d1017;
  --rw-blue:#8bbcff;--rw-red:#f09291;--rw-gold:#eac47c;--rw-positive:#42cfa9;
}
body:has(.novex-shell) .novex-shell :is(button,input,select,textarea,table,th,td){font-family:Tajawal,NovexDubai,'Noto Sans Arabic',sans-serif!important;letter-spacing:normal!important}
body:has(.novex-shell) .novex-content,
body:has(.novex-shell) .novex-content-gradient,
body:has(.novex-shell) .novex-workspace{color:var(--rw-text)!important;background:var(--rw-base)!important}
body:has(.novex-shell) .novex-content :is(.animated-soft-background,.soft-bg-glow){opacity:.08!important}

/* Shared navigation keeps the original items and React interactions. */
body:has(.novex-shell) .novex-sidebar,
body:has(.novex-shell) .novex-builder-sidebar,
body:has(.novex-shell) .novex-builder-logo,
body:has(.novex-shell) .novex-builder-user{color:var(--rw-text)!important;background:var(--rw-surface)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) .novex-builder-logo :is(strong,small,span),
body:has(.novex-shell) .novex-builder-user :is(p,strong){color:var(--rw-text)!important}
body:has(.novex-shell) .novex-builder-user small,
body:has(.novex-shell) .novex-builder-nav__section-title{color:var(--rw-subtle)!important}
body:has(.novex-shell) .novex-builder-user__avatar,
body:has(.novex-shell) .novex-builder-logo__mark{color:#fff!important;background:var(--rw-teal)!important}
body:has(.novex-shell) .novex-builder-nav,
body:has(.novex-shell) .novex-builder-nav__section,
body:has(.novex-shell) .novex-builder-nav__children{background:var(--rw-surface)!important;border-color:var(--rw-border)!important}
/* Closed submenus must not reserve a row beneath every sidebar section. */
body:has(.novex-shell) .novex-builder-nav__children:not(.is-open){display:none!important}
body:has(.novex-shell) .novex-builder-nav__item,
body:has(.novex-shell) .novex-builder-nav__group{color:var(--rw-muted)!important;background:transparent!important;border-color:transparent!important}
body:has(.novex-shell) .novex-builder-nav__item :is(span,svg),
body:has(.novex-shell) .novex-builder-nav__group :is(span,svg){color:inherit!important;stroke:currentColor!important}
body:has(.novex-shell) .novex-builder-nav__item:hover,
body:has(.novex-shell) .novex-builder-nav__group:hover{color:var(--rw-text)!important;background:var(--rw-hover)!important}
body:has(.novex-shell) .novex-builder-nav__item.active,
body:has(.novex-shell) .novex-builder-nav__group.active,
body:has(.novex-shell) .novex-builder-nav__group.open{
  color:var(--rw-teal-light)!important;background:rgba(20,184,166,.13)!important;
  border-color:rgba(20,184,166,.22)!important;box-shadow:inset -2px 0 var(--rw-teal)!important
}
/* The injected rider-app link is a peer of the section buttons, not the dashboard shortcut. */
body:has(.novex-shell) #root .novex-shell a[data-novex-riderapp-nav]{
  flex-direction:row!important;direction:ltr!important;align-items:center!important
}
body:has(.novex-shell) #root .novex-shell a[data-novex-riderapp-nav] > span{
  flex:1;min-width:0;direction:rtl;text-align:right;line-height:1.4;letter-spacing:normal
}
body:has(.novex-shell) #root .novex-shell a[data-novex-riderapp-nav] > svg,
body:has(.novex-shell) #root .novex-shell a[data-novex-riderapp-nav] > svg *{
  stroke:currentColor!important
}
body:has(.novex-shell) #root .novex-sidebar .rw-workspace-card{position:relative;margin:12px 10px 8px;color:var(--rw-text);background:var(--rw-card);border:1px solid var(--rw-border-fine);border-radius:11px}
body:has(.novex-shell) #root .novex-sidebar .rw-workspace-card summary{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px;cursor:pointer;list-style:none}
body:has(.novex-shell) #root .novex-sidebar .rw-workspace-card summary::-webkit-details-marker{display:none}
body:has(.novex-shell) #root .novex-sidebar .rw-workspace-caption{grid-column:1;color:var(--rw-subtle);font-size:11px;font-weight:700}
body:has(.novex-shell) #root .novex-sidebar .rw-workspace-name{grid-column:1;color:var(--rw-text);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body:has(.novex-shell) #root .novex-sidebar .rw-workspace-arrow{grid-column:2;grid-row:1 / 3;align-self:center;color:var(--rw-muted)}
body:has(.novex-shell) #root .novex-sidebar .rw-workspace-card[open] .rw-workspace-arrow{transform:rotate(180deg)}
body:has(.novex-shell) #root .novex-sidebar .rw-workspace-card p{margin:0;padding:8px 12px 11px;color:var(--rw-muted);border-top:1px solid var(--rw-border);font-size:11px;line-height:1.5}
body:has(.novex-shell) #root .novex-sidebar .novex-builder-user{gap:9px}
body:has(.novex-shell) #root .novex-sidebar .rw-account-logout{margin-inline-start:auto;padding:6px 8px;color:var(--rw-teal-light);background:var(--rw-hover);border:1px solid var(--rw-border-fine);border-radius:7px;font:700 11px Tajawal,NovexDubai,sans-serif;cursor:pointer}
body:has(.novex-shell) #root .novex-sidebar .rw-account-logout:hover{border-color:var(--rw-teal);background:rgba(20,184,166,.12)}
body:has(.novex-shell) .novex-topbar{position:sticky!important;top:0!important;z-index:40!important;min-height:72px!important;padding:10px 18px!important;gap:18px!important;direction:rtl!important;justify-content:space-between!important;color:var(--rw-text)!important;background:color-mix(in srgb,var(--rw-surface) 92%,transparent)!important;backdrop-filter:blur(16px)!important;border:0!important;border-bottom:1px solid var(--rw-border)!important;border-radius:0!important;box-shadow:0 8px 24px rgba(31,53,77,.05)!important}
body:has(.novex-shell) .novex-topbar :is(strong,span,h1,h2){color:var(--rw-text)!important}
body:has(.novex-shell) .novex-topbar__brand{flex:0 1 230px!important;max-width:230px!important;min-width:0!important;overflow:hidden!important}
body:has(.novex-shell) .novex-topbar__title{min-width:0!important;overflow:hidden!important}
body:has(.novex-shell) .novex-topbar__title strong{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:17px!important}
@media(min-width:621px){body:has(.novex-shell) .novex-topbar__brand{display:none!important}}
body:has(.novex-shell) .rw-topbar-context{display:flex;align-items:center;gap:13px;min-width:0;margin-inline-end:auto;color:var(--rw-muted);font-size:13px;font-weight:700;white-space:nowrap}
body:has(.novex-shell) .rw-topbar-context a{color:var(--rw-muted)!important;text-decoration:none}
body:has(.novex-shell) .rw-topbar-context strong{color:var(--rw-text)!important;font-weight:800}
body:has(.novex-shell) .rw-topbar-context .rw-crumb-separator{color:var(--rw-subtle)!important}
body:has(.novex-shell) .rw-topbar-date{padding-inline-start:13px;border-inline-start:1px solid var(--rw-border);color:var(--rw-muted)!important;font-size:12px}
body:has(.novex-shell) .novex-topbar__actions{display:flex!important;align-items:center!important;gap:9px!important}
body:has(.novex-shell) .novex-topbar__actions :is(button,a){color:var(--rw-text)!important;background:var(--rw-card)!important;border:1px solid var(--rw-border-fine)!important;border-radius:9px!important}
body:has(.novex-shell) .novex-topbar__actions :is(button,a):hover{background:var(--rw-hover)!important;border-color:var(--rw-teal)!important}
body:has(.novex-shell) .novex-topbar__actions :is(button,a) :is(span,svg){color:inherit!important;stroke:currentColor!important}
body:has(.novex-shell) .novex-topbar__actions .novex-search-button{display:flex!important;align-items:center!important;gap:10px!important;min-width:170px!important;justify-content:space-between!important;background:var(--rw-base)!important;color:var(--rw-muted)!important}
body:has(.novex-shell) .novex-topbar__actions .novex-search-button svg:not(.rw-search-icon){display:none!important}
body:has(.novex-shell) .novex-topbar__actions .rw-search-icon{display:block!important;width:17px!important;height:17px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;flex:none!important}
body:has(.novex-shell) .novex-topbar__actions .rw-search-shortcut{border:1px solid var(--rw-border-fine)!important;border-radius:5px!important;padding:2px 5px!important;color:var(--rw-subtle)!important;font:600 10px 'Plus Jakarta Sans',sans-serif!important}
body:has(.novex-shell) .novex-topbar__actions .novex-topbar-report-link{color:#fff!important;background:linear-gradient(135deg,#14b8a6,#0b8178)!important;border-color:#0b8178!important;font-weight:800!important}
body:has(.novex-shell) .novex-topbar__actions .rw-theme-toggle{min-height:36px!important;min-width:74px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;font-size:12px!important;font-weight:800!important;cursor:pointer}
body:has(.novex-shell) .novex-topbar__actions .rw-theme-toggle span{color:inherit!important}
body:has(.novex-shell) #root main.novex-content > .rw-synthetic-topbar{width:100%!important;box-sizing:border-box!important;margin-bottom:16px!important}
body:has(.novex-shell) .novex-notification-bell__panel,
body:has(.novex-shell) .language-menu__panel{color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) #root .novex-notification-bell__panel[hidden]{display:none!important}

/* Common page headings, panels, forms and tables. */
body:has(.novex-shell) .novex-workspace :is(h1,h2,h3,h4,h5,label,legend){color:var(--rw-text)!important}
body:has(.novex-shell) .novex-workspace :is(.hint,small,.muted){color:var(--rw-muted)!important}
body:has(.novex-shell) .novex-page-hero{
  color:var(--rw-text)!important;background:radial-gradient(circle at 85% 12%,rgba(20,184,166,.13),transparent 40%),linear-gradient(135deg,var(--rw-hero-start),var(--rw-hero-end))!important;
  border:1px solid var(--rw-border-fine)!important;border-radius:16px!important;box-shadow:0 0 18px -8px rgba(20,184,166,.2)!important
}
body:has(.novex-shell) .novex-page-hero :is(.novex-page-hero__title,.novex-page-hero__copy){color:var(--rw-text)!important}
body:has(.novex-shell) .novex-page-hero :is(.novex-page-hero__subtitle,.novex-page-hero__eyebrow){color:var(--rw-muted)!important}
body:has(.novex-shell) .novex-page-hero__icon{color:var(--rw-teal-light)!important;background:rgba(20,184,166,.15)!important;border-color:rgba(20,184,166,.25)!important}
body:has(.novex-shell) .novex-page-hero__stat{color:var(--rw-text)!important;background:var(--rw-card)!important;border:1px solid var(--rw-border-fine)!important}
body:has(.novex-shell) .novex-page-hero__stat :is(span,small){color:var(--rw-muted)!important}
body:has(.novex-shell) .novex-action-group{color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) .novex-action-group__label{color:var(--rw-muted)!important}
body:has(.novex-shell) .novex-action-btn:not(.novex-action-btn--primary),
body:has(.novex-shell) .novex-workspace :is(.button.secondary,.rdm-btn--ghost,.crm-icon-btn,.crm-pager-nav){color:var(--rw-text)!important;background:var(--rw-hover)!important;border-color:var(--rw-border-fine)!important}
body:has(.novex-shell) .novex-workspace :is(.panel,.smart-table-card,.rdm-stage,.rdm-command,.rdm-kpi,.crm-invoices,.crm-invoice-barcode,.crm-status-tabs,.crm-invoice-list,.reports-column,.reports-toolbar,.admin-tabs){
  color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border)!important;box-shadow:none!important
}
body:has(.novex-shell) .novex-workspace :is(.panel-body,.smart-table-toolbar,.smart-pagination,.reports-list,.crm-invoices__toolbar){color:var(--rw-text)!important;background:transparent!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) .novex-workspace :is(.rdm-kpi__label,.rdm-kpi__icon,.crm-invoices__pager,.crm-status-tabs__label){color:var(--rw-muted)!important}
body:has(.novex-shell) .novex-workspace :is(.reports-row,.crm-status-tabs button,.admin-tabs button,.routss-tabs button,.payroll-tabs button,.permission-pills button,.driver-filter-button,.driver-pill-button,.driver-upload-pill,.routss-neutral-button){color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) .novex-workspace :is(.reports-row:hover,.crm-status-tabs button:hover,.admin-tabs button:hover,.routss-tabs button:hover,.payroll-tabs button:hover,.permission-pills button:hover,.driver-filter-button:hover,.driver-pill-button:hover,.driver-upload-pill:hover,.routss-neutral-button:hover){background:var(--rw-hover)!important}
body:has(.novex-shell) .novex-workspace :is(.admin-tabs button.active,.crm-status-tabs button.is-active,.routss-tabs button.active,.payroll-tabs button.active,.permission-pills button.active){color:var(--rw-teal-light)!important;background:rgba(20,184,166,.13)!important;border-color:rgba(20,184,166,.3)!important}
body:has(.novex-shell) #root main.novex-content .novex-workspace :is(.routss-tabs,.payroll-tabs,.permission-pills) button.active{color:var(--rw-teal-light)!important;background:var(--rw-hover)!important;border-color:var(--rw-teal)!important}
body:has(.novex-shell) .novex-workspace :is(input:not([type=checkbox]):not([type=radio]),select,textarea){color:var(--rw-text)!important;background:var(--rw-surface)!important;border:1px solid var(--rw-border-fine)!important;box-shadow:none!important}
body:has(.novex-shell) .novex-workspace :is(input,textarea)::placeholder{color:var(--rw-subtle)!important;opacity:1}
body:has(.novex-shell) .novex-workspace :is(input,select,textarea):focus{border-color:var(--rw-teal)!important;outline-color:var(--rw-teal)!important}
body:has(.novex-shell) .novex-workspace :is(.table-wrap,.smart-table-wrap){background:var(--rw-card)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) .novex-workspace table{color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) .novex-workspace :is(thead,th){color:var(--rw-muted)!important;background:var(--rw-hover)!important;border-color:var(--rw-border-fine)!important}
body:has(.novex-shell) .novex-workspace :is(tbody,tr,td){color:var(--rw-text)!important;background:transparent!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) .novex-workspace tbody tr:hover{background:var(--rw-hover)!important}
body:has(.novex-shell) .novex-workspace :is(.smart-empty-state,.crm-empty){color:var(--rw-muted)!important;background:var(--rw-card)!important}
body:has(.novex-shell) .novex-workspace a{color:var(--rw-teal-light)!important}

/* Drivers Master has its own light surfaces and tokens; keep data legible in dark mode. */
html[data-rw-theme=dark] body:has(.novex-shell) #root .rdm,
html[data-rw-theme=dark] .rdm-modal.standard-modal{
  --rdm-ink:#edf1f7;--rdm-ink-soft:#a8b4c5;--rdm-paper:#0d1017;
  --rdm-line:#2a354c;--rdm-teal-deep:#2dd4bf;--rdm-live:#42cfa9;
  --rdm-danger:#f09291
}
html[data-rw-theme=dark] body:has(.novex-shell) #root .rdm :is(
  .rdm-kpi,.rdm-command,.rdm-menu,.smart-table-card,.smart-table-search,.rdm-drawer,.rdm-detail-grid>div
){color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border-fine)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root .rdm :is(
  .smart-table-toolbar,.smart-table thead th,.rdm-stage .smart-table-actions button,.rdm-tabs button:hover
){color:var(--rw-text)!important;background:var(--rw-hover)!important;border-color:var(--rw-border-fine)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root .rdm :is(
  .rdm-kpi__label,.smart-table-toolbar span,.rdm-detail-grid span,.rdm-tabs button:not(.is-active)
){color:var(--rw-muted)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root .rdm :is(.smart-table td,.rdm-detail-grid strong,.rdm-kpi strong){color:var(--rw-text)!important}
/* Bundled table rules paint cells directly; cover all manager tables on screen. */
@media screen{
  html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content :is(.smart-table,.drivers-table,.table.dense-table) tbody tr:nth-child(even) td{color:var(--rw-text)!important;background:var(--rw-hover)!important}
  html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content table tbody tr:hover td{color:var(--rw-text)!important;background:#253247!important}
  html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content :is(.smart-table,.drivers-table,.table.dense-table) tbody tr:hover td{background:#253247!important}
}
/* Action menus are shared by payroll and driver pages; use the shell tokens in both themes. */
body:has(.novex-shell) #root main.novex-content :is(.actions-menu,.routss-action-popover,.payroll-actions-menu,.driver-actions-popover){color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) #root main.novex-content :is(.actions-menu,.routss-action-popover,.payroll-actions-menu,.driver-actions-popover) button{color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) #root main.novex-content :is(.actions-menu,.routss-action-popover,.payroll-actions-menu,.driver-actions-popover) button:hover{color:var(--rw-teal-light)!important;background:var(--rw-hover)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content :is(.driver-dropdown-upload label,.salary-detail-total){color:var(--rw-text)!important;background:var(--rw-hover)!important;border-color:var(--rw-border-fine)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content :is(.status-active,.status-success,.badge-success,.نشط){color:var(--rw-positive)!important;background:rgba(66,207,169,.12)!important;border-color:rgba(66,207,169,.3)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content :is(.status-vacation,.status-warning,.badge-warning,.on-leave,.إجازة){color:var(--rw-gold)!important;background:rgba(234,196,124,.12)!important;border-color:rgba(234,196,124,.3)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content :is(.status-stopped,.status-danger,.badge-danger,.inactive,.موقوف){color:var(--rw-red)!important;background:rgba(240,146,145,.12)!important;border-color:rgba(240,146,145,.3)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content .routss-employee-page .pill-link{color:var(--rw-gold)!important;background:rgba(234,196,124,.12)!important;border-color:rgba(234,196,124,.3)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content :is(.driver-hero-icon,.driver-round-menu){color:var(--rw-teal-light)!important;background:var(--rw-hover)!important;border-color:var(--rw-border-fine)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content :is(.danger-button,.btn-danger,.delete-button){color:var(--rw-red)!important;background:rgba(240,146,145,.12)!important;border-color:rgba(240,146,145,.3)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content :is(.success-button,.btn-success){color:var(--rw-positive)!important;background:rgba(66,207,169,.12)!important;border-color:rgba(66,207,169,.3)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root .rdm :is(.rdm-search,.rdm-stage .smart-table-search,input:not([type=checkbox]),select,textarea){color:var(--rw-text)!important;background:var(--rw-surface)!important;border-color:var(--rw-border-fine)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root .rdm :is(.rdm-notes,.rdm-chip--on){color:var(--rw-positive)!important;background:rgba(66,207,169,.12)!important;border-color:rgba(66,207,169,.3)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root .rdm :is(.rdm-alert--error,.rdm-chip--off){color:var(--rw-red)!important;background:rgba(240,146,145,.12)!important;border-color:rgba(240,146,145,.3)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root .rdm .rdm-tabs button.is-active{color:var(--rw-teal-light)!important;background:rgba(20,184,166,.16)!important}
html[data-rw-theme=dark] .rdm-modal.standard-modal,
html[data-rw-theme=dark] .rdm-modal :is(.rdm-modal__body,.rdm-form__section){color:#edf1f7!important;background:#121622!important;border-color:#2a354c!important}
html[data-rw-theme=dark] .rdm-modal :is(input,select,textarea){color:#edf1f7!important;background:#0d1017!important;border-color:#2a354c!important}

/* A light login screen; its form, branding and authentication stay with React. */
html:has(.lux-login),body:has(.lux-login),body:has(.lux-login) #root{background:#f5f8fc!important}
body:has(.lux-login) .lux-login{
  font-family:Tajawal,NovexDubai,'Noto Sans Arabic',sans-serif!important;
  font-size:15px!important;letter-spacing:normal!important;color:#173047!important;
  background:radial-gradient(circle at 12% 15%,#e2f5f2 0,transparent 34%),radial-gradient(circle at 90% 85%,#e5edfb 0,transparent 38%),#f5f8fc!important
}
body:has(.lux-login) .lux-login__photo{display:none!important}
body:has(.lux-login) .lux-login__shell--enterprise{
  color:#173047!important;background:rgba(255,255,255,.97)!important;
  border:1px solid #dbe5ef!important;border-radius:24px!important;
  box-shadow:0 24px 70px rgba(31,53,77,.12)!important
}
body:has(.lux-login) .lux-login :is(h1,h2,h3,strong,label,p,span){color:#173047!important;letter-spacing:normal!important}
body:has(.lux-login) .lux-login__welcome h1{font-size:clamp(25px,3vw,32px)!important;line-height:1.35!important}
body:has(.lux-login) .lux-login__welcome p{color:#61758a!important;font-size:16px!important}
body:has(.lux-login) .lux-login__form label{font-size:14px!important;line-height:1.5!important}
body:has(.lux-login) .lux-login__field{min-height:50px!important;color:#173047!important;background:#fff!important;border:1px solid #c9d7e5!important;border-radius:11px!important;box-shadow:none!important}
body:has(.lux-login) .lux-login__field:focus-within{border-color:#0d9488!important;box-shadow:0 0 0 3px rgba(20,184,166,.14)!important}
body:has(.lux-login) .lux-login .lux-login__field input:not([type=checkbox]){color:#173047!important;background:transparent!important;border:0!important;outline:0!important;font-family:inherit!important;font-size:15px!important}
body:has(.lux-login) .lux-login input::placeholder{color:#7d90a4!important;opacity:1}
body:has(.lux-login) .lux-login :is(.lux-login__lock,.lux-login__eye,svg){color:#52677c!important}
body:has(.lux-login) .lux-login__remember input{accent-color:#0d9488!important}
body:has(.lux-login) .lux-login__forgot{color:#0b766e!important;font-size:13px!important;font-weight:700!important}
body:has(.lux-login) .lux-login__recovery-help{position:fixed!important;z-index:1000!important;right:50%!important;bottom:24px!important;transform:translateX(50%)!important;width:min(420px,calc(100vw - 32px))!important;padding:12px 16px!important;color:#0b625b!important;background:#e8f8f4!important;border:1px solid #a8ddd3!important;border-radius:10px!important;box-shadow:0 10px 28px rgba(31,53,77,.12)!important;font-family:Tajawal,NovexDubai,sans-serif!important;font-size:14px!important;line-height:1.6!important;text-align:center!important}
body:not(:has(.lux-login)) .lux-login__recovery-help{display:none!important}
body:has(.lux-login) .lux-login__error{max-width:420px!important;margin:12px auto!important;padding:10px 12px!important;color:#9b2c31!important;background:#fff0f1!important;border:1px solid #f0bcc1!important;border-radius:9px!important;font-size:14px!important;line-height:1.6!important}
body:has(.lux-login) .lux-login button[type=submit]{min-height:50px!important;color:#fff!important;background:linear-gradient(135deg,#13b8a8,#0b8d84)!important;border:1px solid #0b8d84!important;border-radius:11px!important;box-shadow:0 10px 22px rgba(13,148,136,.18)!important;font-size:16px!important}
body:has(.lux-login) .lux-login button[type=submit]:hover{filter:brightness(.96)!important}
body:has(.lux-login) .lux-login__glass{color:#173047!important;background:#f8fafc!important;border:1px solid #dce6ef!important;border-radius:12px!important;box-shadow:none!important}
body:has(.lux-login) .lux-login__glass :is(strong,small,span){color:#334b60!important}
body:has(.lux-login) .lux-login__footer{color:#6e8092!important}
.rw-release-version{position:fixed!important;top:auto!important;right:auto!important;left:16px!important;bottom:12px!important;z-index:40;display:block;white-space:nowrap;padding:5px 9px;color:#52677c;background:rgba(255,255,255,.94);border:1px solid #c9d7e5;border-radius:8px;box-shadow:0 4px 12px rgba(31,53,77,.08);font:600 11px Tajawal,NovexDubai,sans-serif;direction:rtl;pointer-events:none}
html[data-rw-theme=dark] body:has(.novex-shell) .rw-release-version{color:#a8b4c5;background:#121622;border-color:#2a354c}
@media(max-width:620px){.rw-release-version{left:8px!important;bottom:8px!important;font-size:10px}}

@media(max-width:980px){body:has(.novex-shell) .novex-content{width:100%!important;max-width:100%!important;min-width:0!important}}
@media(max-width:1180px){body:has(.novex-shell) .rw-topbar-date{display:none!important}body:has(.novex-shell) .novex-topbar__actions .novex-search-button{min-width:auto!important}}
@media(max-width:760px){body:has(.novex-shell) .novex-topbar{min-height:60px!important;padding:8px 10px!important;gap:7px!important}body:has(.novex-shell) .rw-topbar-context{display:none!important}body:has(.novex-shell) .novex-topbar__actions .novex-search-button{min-width:36px!important}body:has(.novex-shell) .novex-topbar__actions .rw-search-shortcut,body:has(.novex-shell) .novex-topbar__actions .rw-theme-toggle .rw-theme-label{display:none!important}body:has(.novex-shell) .novex-topbar__actions .rw-theme-toggle{min-width:36px!important}body:has(.novex-shell) .novex-topbar__actions{gap:5px!important}}
@media(max-width:620px){body:has(.novex-shell) .novex-topbar{flex-wrap:wrap!important}body:has(.novex-shell) .novex-topbar__brand{width:100%!important;max-width:none!important;flex:1 1 100%!important}body:has(.novex-shell) .novex-topbar__brand > :nth-child(n+3),body:has(.novex-shell) .novex-topbar__title span{display:none!important}body:has(.novex-shell) .novex-topbar__actions{width:100%!important;justify-content:space-between!important}body:has(.novex-shell) .novex-topbar__actions .novex-topbar-report-link span,body:has(.novex-shell) .novex-topbar__actions .novex-search-button>span{display:none!important}body:has(.novex-shell) .novex-topbar__actions .novex-topbar-report-link,body:has(.novex-shell) .novex-topbar__actions .novex-search-button{min-width:36px!important;width:36px!important;justify-content:center!important}}
@media(max-width:980px){
  body:has(.novex-shell) #root .app-shell.novex-shell{display:block!important;min-width:0!important}
  body:has(.novex-shell) #root .app-shell.novex-shell main.novex-content{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:12px!important}
  body:has(.novex-shell) #root .app-shell.novex-shell .novex-sidebar{
    position:fixed!important;top:0!important;right:0!important;left:auto!important;z-index:1102!important;
    width:min(86vw,340px)!important;max-width:340px!important;height:100dvh!important;max-height:100dvh!important;
    overflow-y:auto!important;transform:translateX(105%)!important;transition:transform .2s ease!important;
    box-shadow:-20px 0 55px rgba(0,0,0,.36)!important
  }
  body.rw-mobile-nav-open #root .app-shell.novex-shell .novex-sidebar{transform:translateX(0)!important}
  body:has(.novex-shell) #root .novex-sidebar .novex-builder-logo{position:relative!important}
  body:has(.novex-shell) #root .novex-sidebar .novex-builder-sidebar__toggle{display:none!important}
  body:has(.novex-shell) #root .novex-sidebar .rw-mobile-close-button{display:inline-flex!important;position:absolute!important;left:10px!important;top:10px!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;color:var(--rw-text)!important;background:var(--rw-hover)!important;border:1px solid var(--rw-border-fine)!important;border-radius:8px!important;font-size:25px!important}
  body.rw-mobile-nav-open{overflow:hidden!important}
  .rw-mobile-backdrop{display:none!important}
  body.rw-mobile-nav-open .rw-mobile-backdrop{display:block!important;position:fixed!important;inset:0!important;z-index:1101!important;background:rgba(0,0,0,.65)!important;border:0!important}
  body:has(.novex-shell) #root .rw-mobile-menu-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:40px!important;min-height:40px!important;font-size:21px!important;color:var(--rw-text)!important;background:var(--rw-card)!important;border:1px solid var(--rw-border-fine)!important}
}
@media(min-width:981px){.rw-mobile-menu-button,.rw-mobile-backdrop{display:none!important}}
@media(min-width:981px){.rw-mobile-close-button{display:none!important}}
@media(max-width:620px){
  body:has(.novex-dashboard) #root .novex-shell .novex-dashboard__hero{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;padding:18px!important}
  body:has(.novex-dashboard) #root .novex-shell .novex-dashboard__hero > :is(div,a){position:static!important;transform:none!important;inset:auto!important;max-width:100%!important;margin:0!important}
  body:has(.novex-dashboard) #root .novex-shell .novex-dashboard__hero > div{width:100%!important}
}
@media(prefers-reduced-motion:reduce){body:has(.novex-shell) #root .app-shell.novex-shell .novex-sidebar{transition:none!important}}
@media(prefers-reduced-motion:reduce){body:has(.novex-shell) #root .novex-sidebar .rw-health-dot{animation:none!important}}
/* The packaged stylesheet contains high-specificity light rules; anchor final overrides at the app root. */
body:has(.novex-shell) #root .app-shell.novex-shell{background:var(--rw-base)!important}
body:has(.novex-shell) #root .app-shell.novex-shell main.novex-content,
body:has(.novex-shell) #root .app-shell.novex-shell .novex-content-gradient{background:var(--rw-base)!important;color:var(--rw-text)!important}
body:has(.novex-shell) #root .novex-shell aside.novex-sidebar{color:var(--rw-text)!important;background:var(--rw-surface)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) #root .novex-shell .novex-builder-nav__item,
body:has(.novex-shell) #root .novex-shell .novex-builder-nav__group,
body:has(.novex-shell) #root .novex-shell .novex-builder-nav__item :is(span,svg),
body:has(.novex-shell) #root .novex-shell .novex-builder-nav__group :is(span,svg){color:var(--rw-muted)!important}
body:has(.novex-shell) #root .novex-shell .novex-builder-nav__item.active,
body:has(.novex-shell) #root .novex-shell .novex-builder-nav__item.active :is(span,svg),
body:has(.novex-shell) #root .novex-shell .novex-builder-nav__group.active,
body:has(.novex-shell) #root .novex-shell .novex-builder-nav__group.active :is(span,svg){color:var(--rw-teal-light)!important;background:rgba(20,184,166,.13)!important}
body:has(.novex-shell) #root .novex-shell .novex-builder-nav__item.active :is(span,svg),
body:has(.novex-shell) #root .novex-shell .novex-builder-nav__group.active :is(span,svg){background:transparent!important}
body:has(.novex-shell) #root .novex-shell .novex-topbar__actions :is(button,a),
body:has(.novex-shell) #root .novex-shell .novex-topbar__actions :is(button,a) :is(span,svg){color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border-fine)!important}
body:has(.novex-shell) #root .novex-shell .novex-topbar__actions :is(button,a):hover{background:var(--rw-hover)!important}
body:has(.novex-shell) #root .novex-shell .novex-topbar__actions a.novex-topbar-report-link{color:#fff!important;background:linear-gradient(135deg,#14b8a6,#0b8178)!important;border-color:#0b8178!important}
body:has(.novex-shell) #root .novex-shell .novex-topbar__actions a.novex-topbar-report-link :is(span,svg){color:#fff!important;background:transparent!important;border-color:transparent!important}
body:has(.novex-shell) #root .novex-shell :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--rw-teal)!important;outline-offset:2px!important}
body:has(.novex-shell) #root .novex-shell *{scrollbar-width:thin;scrollbar-color:var(--rw-border-fine) transparent}
body:has(.novex-shell) #root .novex-shell *::-webkit-scrollbar{width:5px;height:5px}
body:has(.novex-shell) #root .novex-shell *::-webkit-scrollbar-thumb{background:var(--rw-border-fine);border-radius:5px}
body:has(.novex-shell) #root .novex-shell *::-webkit-scrollbar-thumb:hover{background:var(--rw-teal)}
@media(min-width:981px){
  body:has(.novex-shell) #root .novex-shell.sidebar-collapsed aside.novex-sidebar,
  body:has(.novex-shell) #root .novex-shell.sidebar-collapsed .novex-builder-sidebar{width:76px!important;min-width:76px!important;max-width:76px!important;overflow-x:hidden!important}
  body:has(.novex-shell) #root .novex-shell.sidebar-collapsed .novex-builder-nav{width:76px!important;max-width:76px!important}
  body:has(.novex-shell) #root .novex-shell.sidebar-collapsed .rw-workspace-card{display:none!important}
}
body:has(.novex-shell):not(:has(.novex-dashboard)) #root .novex-workspace *{color:var(--rw-text)!important}
body:has(.novex-shell):not(:has(.novex-dashboard)) #root .novex-workspace :is(.hint,small,.muted,.novex-page-hero__subtitle,.novex-page-hero__eyebrow,.rdm-kpi__label,.crm-invoices__pager){color:var(--rw-muted)!important}
body:has(.novex-shell):not(:has(.novex-dashboard)) #root .novex-workspace a{color:var(--rw-teal-light)!important}
body:has(.novex-shell) #root .novex-workspace .novex-page-hero__eyebrow,
body:has(.novex-shell) #root .novex-workspace .novex-page-hero__deck,
body:has(.novex-shell) #root .novex-workspace :is(.rdm-search,.smart-table-search){background:var(--rw-card)!important;border-color:var(--rw-border-fine)!important}
body:has(.novex-shell) #root .novex-workspace :is(.smart-table-actions,.smart-pagination) button{color:var(--rw-text)!important;background:var(--rw-hover)!important;border-color:var(--rw-border-fine)!important}
body:has(.novex-shell) #root .novex-workspace :is(.novex-action-btn--primary,.rdm-btn--primary,.crm-btn--add) {background:var(--rw-teal)!important;border-color:var(--rw-teal)!important}
body:has(.novex-shell) #root .novex-workspace :is(.novex-action-btn--primary,.rdm-btn--primary,.crm-btn--add) :is(span,svg){color:#052a26!important}
body:has(.novex-shell) #root .novex-workspace .rdm-kpi{background:var(--rw-card)!important;border-color:var(--rw-border-fine)!important}
body:has(.novex-shell) #root .novex-workspace button:disabled{color:var(--rw-subtle)!important;background:var(--rw-hover)!important;border-color:var(--rw-border)!important;opacity:.65!important}
body:has(.novex-shell) #root .novex-workspace .report-account-link{color:var(--rw-teal-light)!important;background:rgba(20,184,166,.12)!important;border-color:rgba(20,184,166,.22)!important}
/* Two operations pages are injected directly into main, outside .novex-workspace. */
/* Their overlay hides the React content wrapper; keep the shared header visible. */
body:has(#rawahil-circ-stage,#rawahil-shifts-stage,#rawahil-riderapp-stage) #root main.novex-content > .novex-content-gradient{display:block!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important}
body:has(#rawahil-circ-stage,#rawahil-shifts-stage,#rawahil-riderapp-stage) #root main.novex-content > .novex-content-gradient > :not(.novex-topbar){display:none!important}
body:has(.novex-shell) #root .novex-content :is(.rawahil-circ-stage,.rawahil-shifts-stage){color:var(--rw-text)!important;background:var(--rw-base)!important}
body:has(.novex-shell) #root .novex-content :is(.rawahil-circ-stage,.rawahil-shifts-stage) :is(h1,h2,h3,label,strong){color:var(--rw-text)!important}
body:has(.novex-shell) #root .novex-content :is(.rawahil-circ-stage,.rawahil-shifts-stage) :is(p,small,.hint,.eyebrow){color:var(--rw-muted)!important}
body:has(.novex-shell) #root .novex-content :is(.rawahil-circ-stage,.rawahil-shifts-stage) .novex-page-hero{color:var(--rw-text)!important;background:linear-gradient(135deg,var(--rw-hero-start),var(--rw-hero-end))!important;border:1px solid var(--rw-border-fine)!important}
body:has(.novex-shell) #root .novex-content :is(.rawahil-circ-stage,.rawahil-shifts-stage) :is(.panel,.novex-workspace-panel,.panel-body,.rawahil-shifts-filter-panel,.table-wrap){color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) #root .novex-content :is(.rawahil-circ-stage,.rawahil-shifts-stage) :is(input:not([type=checkbox]),select,textarea){color:var(--rw-text)!important;background:var(--rw-surface)!important;border:1px solid var(--rw-border-fine)!important}
body:has(.novex-shell) #root .novex-content :is(.rawahil-circ-stage,.rawahil-shifts-stage) :is(input,textarea)::placeholder{color:var(--rw-subtle)!important}
body:has(.novex-shell) #root .novex-content :is(.rawahil-circ-stage,.rawahil-shifts-stage) :is(.button,.rawahil-shifts-filter-btn){color:var(--rw-text)!important;background:var(--rw-hover)!important;border-color:var(--rw-border-fine)!important}
body:has(.novex-shell) #root .novex-content :is(.rawahil-circ-stage,.rawahil-shifts-stage) :is(table,thead,tbody,tr,th,td){color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) #root .novex-content :is(.rawahil-circ-stage,.rawahil-shifts-stage) th{background:var(--rw-hover)!important}
body:has(.novex-shell) #root .novex-content :is(.rawahil-circ-stage,.rawahil-shifts-stage) :is(.rawahil-shifts-chips span,.rawahil-shifts-legend span){color:var(--rw-text)!important;background:var(--rw-hover)!important;border-color:var(--rw-border-fine)!important}
body:has(.novex-shell) #root .novex-content > .novex-page :is(h1,h2,h3){color:var(--rw-text)!important}
body:has(.novex-shell) #root .novex-content > .novex-page p{color:var(--rw-muted)!important}
body:has(.novex-shell) #root .novex-content .rawahil-shifts-search button{color:var(--rw-text)!important;background:var(--rw-hover)!important;border-color:var(--rw-border-fine)!important}
/* Legacy screens use several card naming conventions inside the same workspace. */
body:has(.novex-shell) #root main.novex-content :is(
  .novex-panel,.novex-workspace-panel,.management-board-card,.user-mgmt-main,.user-mgmt-detail,.user-mgmt-role-matrix,
  .routss-form-shell,.routss-payroll-toolbar,.routss-grid-toolbar,.routss-grid-shell,.routss-payroll-page,.routss-ledger-list,.ledger-lines,
  .dps-filters,.dps-summary-card,.driver-payroll-composer,.saved-payroll-empty,.saved-payroll-card,.modern-tabs,.payroll-settings-tabs,
  .rnj-table-card,.rnj-pagination,.ops-luxe-report__rankpanel,.ops-luxe-report__wa,.ops-luxe-idboard__card,
  .card,.kpi-card,.fleet-card-panel,.handover-check,.table-toolbar,.dfa-coa-children,.dfa-coa-tree,.dfa-coa-row,
  .novex-page-note,.cash-vouchers-empty,.invoice-lines-editor,.driver-hero-card,.driver-toolbar-card,
  .driver-list-bar,.drivers-actions-panel,.metric,.purple-metric,.driver-master-breadcrumb,.page-header,
  .dashboard-top-actions,.home-command-toolbar,.tabs,.tab-list,.segmented-control
){color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border)!important;box-shadow:none!important}
body:has(.novex-shell) #root main.novex-content :is(.rnj-pagination,.table-toolbar,.modern-tabs,.payroll-settings-tabs,.dfa-coa-row,.cash-vouchers-empty,.tabs,.tab-list,.segmented-control){background:var(--rw-hover)!important}
body:has(.novex-shell) #root main.novex-content :is(.novex-panel,.novex-workspace-panel,.card,.user-mgmt-main,.user-mgmt-detail,.fleet-card-panel,.routss-form-shell,.dps-filters,.rnj-table-card) :is(h1,h2,h3,h4,label,strong){color:var(--rw-text)!important}
body:has(.novex-shell) #root main.novex-content :is(.novex-panel,.novex-workspace-panel,.card,.user-mgmt-main,.user-mgmt-detail,.fleet-card-panel,.routss-form-shell,.dps-filters,.rnj-table-card) :is(input:not([type=checkbox]),select,textarea){color:var(--rw-text)!important;background:var(--rw-surface)!important;border-color:var(--rw-border-fine)!important}
body:has(.novex-shell) #root main.novex-content :is(.novex-panel,.novex-workspace-panel,.card,.user-mgmt-main,.user-mgmt-detail,.fleet-card-panel,.routss-form-shell,.dps-filters,.rnj-table-card) :is(input,textarea)::placeholder{color:var(--rw-subtle)!important}
/* The driver portal is a separate public route, outside the manager shell. */
html:has(.driver-portal),body:has(.driver-portal),body:has(.driver-portal) #root{background:#f4f7fb!important}
body:has(.driver-portal) .driver-portal{--rw-portal-base:#f4f7fb;--rw-portal-card:#fff;--rw-portal-text:#173047;--rw-portal-border:#c9d7e5;color:var(--rw-portal-text)!important;background:var(--rw-portal-base)!important;font-family:Tajawal,NovexDubai,sans-serif!important;letter-spacing:normal!important}
html[data-rw-theme=dark]:has(.driver-portal),html[data-rw-theme=dark] body:has(.driver-portal),html[data-rw-theme=dark] body:has(.driver-portal) #root{background:#090a0f!important}
html[data-rw-theme=dark] body:has(.driver-portal) .driver-portal{--rw-portal-base:#090a0f;--rw-portal-card:#121622;--rw-portal-text:#edf1f7;--rw-portal-border:#2a354c}
body:has(.driver-portal) .driver-portal :is(.driver-portal-hero,.portal-login-card){color:var(--rw-portal-text)!important;background:var(--rw-portal-card)!important;border:1px solid var(--rw-portal-border)!important}
body:has(.driver-portal) .driver-portal :is(h1,h2,h3,label,p){color:var(--rw-portal-text)!important}
body:has(.driver-portal) .driver-portal :is(input,select){color:var(--rw-portal-text)!important;background:var(--rw-portal-card)!important;border:1px solid var(--rw-portal-border)!important}
body:has(.driver-portal) .driver-portal :is(input,select):focus{border-color:#14b8a6!important;outline-color:#14b8a6!important}
body:has(.driver-portal) .driver-portal button[type=submit]{color:#052a26!important;background:#14b8a6!important}
body:has(.driver-portal) .driver-portal :is(.animated-soft-background,.soft-bg-glow){opacity:.06!important}
body:has(.novex-shell) #root main.novex-content :is(.user-mgmt-kpi,.user-mgmt-role-matrix__grid>*,.user-mgmt-icon-btn,.user-mgmt-secondary,.user-mgmt-import-btn,.fleet-form-bar,.fleet-records-panel,.fleet-records-head,.fleet-drop-zone,.driver-payroll-composer__file){color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) #root main.novex-content :is(.novex-alert--blue,.novex-alert--yellow,.novex-alert--red){background:var(--rw-hover)!important;border-color:var(--rw-border-fine)!important}
body:has(.novex-shell) #root main.novex-content .novex-alert--blue{color:var(--rw-blue)!important}
body:has(.novex-shell) #root main.novex-content .novex-alert--yellow{color:var(--rw-gold)!important}
body:has(.novex-shell) #root main.novex-content .novex-alert--red{color:var(--rw-red)!important}
body:has(.novex-shell) #root main.novex-content :is(.upload-box,.crm-customers,.crm-filter-panel,.crm-customer-list,.crm-customer-row,.routss-report-shell,.routss-search-panel,.fleet-drop-zone>div,.handover-check>div,.routss-actions-menu>div){color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) #root main.novex-content :is(.crm-customer-list__head,.crm-customers__toolbar){color:var(--rw-muted)!important;background:var(--rw-hover)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) #root main.novex-content iframe[src*="/rider-admin/"]{background:var(--rw-base)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) #root main.novex-content .user-mgmt-search{background:var(--rw-card)!important;border-color:var(--rw-border)!important}
body:has(.novex-shell) #root main.novex-content .user-mgmt-search button{color:var(--rw-text)!important;background:var(--rw-hover)!important}
body:has(.novex-shell) #root main.novex-content .user-mgmt-primary{color:#052a26!important;background:var(--rw-teal)!important;border-color:var(--rw-teal)!important}
/* Legacy modules still paint pale controls after the dark shell sets light text. */
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content :is(
  .novex-workspace .button,.novex-workspace .btn,.novex-workspace .primary-btn,
  .novex-workspace .ghost-btn,.novex-workspace .ghost-button,
  .novex-workspace .secondary-button,.novex-workspace .user-mgmt-warn,
  .novex-workspace .cash-vouchers-tab,.novex-workspace .link-button,
  .novex-workspace .routss-search-mini button,.novex-workspace .routss-action-button,
  .novex-workspace .table-actions button,.novex-workspace .inv-chips button,
  .novex-workspace .payroll-settings-tabs button,.novex-workspace .modern-tabs button,
  .novex-workspace .routss-ledger-view-tabs a,.novex-workspace .novex-hero-action,
  .novex-workspace .glass-cta,.novex-workspace .rdm-btn--primary,
  .novex-workspace .crm-btn--add,.novex-workspace .crm-btn--search,
  .novex-workspace .routss-create-button,.novex-workspace .routss-green-button
){color:var(--rw-text)!important;background:#1b2739!important;border-color:var(--rw-border-fine)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content :is(
  .novex-workspace .management-board-metrics span,
  .novex-workspace .permission-pills span,
  .novex-workspace .novex-page-hero__stat,
  .novex-workspace .dps-upload span,
  .novex-workspace .driver-payroll-status-chip,
  .novex-workspace .ops-luxe-report__metric span,
  .novex-workspace .platform-list-summary span,
  .novex-workspace .expense-analysis-summary span,
  .novex-workspace .invoice-draft-totals span,
  .novex-workspace .routss-ledger-summary-strip span,
  .novex-workspace .tab-summary-strip span,
  .novex-workspace .fleet-records-head span,
  .novex-workspace .form-title-row .status,
  .novex-workspace .dfa-coa-tree__node.is-active,
  .novex-workspace .page-card__head
){color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border-fine)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content :is(
  .novex-page button,.novex-workspace .inv-tabs button,
  .novex-workspace .tax-due,.novex-workspace .platform-list-count
){color:var(--rw-text)!important;background:var(--rw-card)!important;border-color:var(--rw-border-fine)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content .page-card__head :is(h1,label){color:var(--rw-text)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content .novex-alert-list .hint{color:var(--rw-muted)!important}
html[data-rw-theme=dark] body:has(.driver-portal) .driver-portal .portal-period-grid span{color:var(--rw-muted)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content .tax-return-grid > div{background:var(--rw-card)!important;border-color:var(--rw-border-fine)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content .page-card__head .hint{color:var(--rw-muted)!important}
html[data-rw-theme=dark] body:has(.driver-portal) .driver-portal .portal-identifier-field span{color:var(--rw-muted)!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content .novex-action-btn--primary{color:#fff!important;background:#0b5d57!important;border-color:#0b5d57!important}
html[data-rw-theme=dark] body:has(.novex-shell) #root main.novex-content .novex-action-btn--primary :is(span,svg){color:#fff!important}
@media print{
  html:has(.novex-shell),body:has(.novex-shell),body:has(.novex-shell) #root{background:#fff!important}
  html body:has(.novex-shell) #root .app-shell.novex-shell,
  html body:has(.novex-shell) #root .app-shell.novex-shell main.novex-content,
  html body:has(.novex-shell) #root .app-shell.novex-shell main.novex-content *{color:#111827!important;background:transparent!important;box-shadow:none!important;text-shadow:none!important;border-color:#cbd5e1!important}
  html body:has(.novex-shell) #root .app-shell.novex-shell main.novex-content :is(th,thead){background:#f1f5f9!important}
}

/* smart-filter hit-testing */
body:has(.novex-shell) .novex-workspace .smart-table thead .smart-filter-row th{z-index:5!important;pointer-events:auto!important}
body:has(.novex-shell) .novex-workspace .smart-table thead .smart-filter-row input{pointer-events:auto!important;position:relative;z-index:6;cursor:text}
html[data-rw-theme=dark] body:has(.novex-shell) #root .rdm .smart-filter-row input{color:var(--rw-text)!important;background:var(--rw-surface)!important;border:1px solid var(--rw-border-fine)!important}

