/* Royal blue theme. Layered rules override legacy injected themes. */
@layer navyWhite {
:root{--navy:#4169e1!important;--navy2:#3153b5!important;--ink:#152c42!important;--muted:#506579!important;--bg:#f3f6fa!important;--line:#bccbd8!important;--yellow:#4169e1!important;--green:#087b47!important}
html,body,.admin-shell,.app-shell,.account-shell,.view,.driver-page,.content-page,.dark-screen{background:#eef4f8!important;color:#152c42!important}
:where(body) :is(h1,h2,h3,h4,p,small,b,strong,label,dt,dd,em,span){color:inherit!important;opacity:1!important}
:where(body) :is(p,small,dt){color:#506579!important}
:where(body) :is(button,input,select,textarea){background:#fff!important;color:#152c42!important;border-color:#a8bccd!important}
:where(body) :is(input,textarea)::placeholder{color:#536a7c!important;opacity:1!important}
:is(.panel,.card,.person,.kpi-grid article,.incentive-kpis article,.safety-kpis article,.request-card,.choice-sheet,.tracking-card,.receipt-card,.rating-card,.account-card,.delete-card,.profile-hero,.profile-card,.earning-card,.resource-card,.security-action,.security-card,.campaign-card,.campaign-cost,.command-center,.command-grid button,.money-split>div,.home-sheet,.earnings-snapshot,.route-summary,.route-address-card,.address-row,.ride-option,.payment-row,.quick button,.services button,.modal>section,.overlay>section,#adminModal>section,#actionModal>section,#modeModal>section,.settings-manager,.pricing-current,.settings-presets button,.settings-saved button){background:#fff!important;color:#152c42!important;border-color:#bccbd8!important}
:is(.driver-head,.topbar,.bottom-nav,.console,.admin-shell aside,.account-menu .menu-profile,.brand-map,.trip-bar){background:#4169e1!important;color:#fff!important;border-color:#3153b5!important}
:is(.driver-head,.topbar,.bottom-nav,.console,.admin-shell aside,.account-menu .menu-profile,.brand-map,.trip-bar) :is(p,small){color:#fff!important}
:is(.admin-shell main>header,.page-head,.subhead,.account-header){background:#fff!important;color:#102f50!important;border-color:#bccbd8!important}
:is(.admin-shell aside nav button,.bottom-nav button){background:transparent!important;color:#fff!important}
:is(.admin-shell aside nav button.active,.admin-shell aside nav button:hover,.bottom-nav button.active){background:#d9e8f1!important;color:#152c42!important;box-shadow:inset 3px 0 #b6d9fa!important}
:is(.admin-brand>span,.brand span,.admin-brand+nav button span){color:#fff!important}
:is(.primary,.wide,.modal-main,.ride-primary,.pay-primary,.gold-button,.withdraw-main,.trip-view .arrive,#requestRide,#confirmPrepay,#sendCampaign,#confirmCampaign,#downloadReport){background:#4169e1!important;color:#fff!important;border-color:#3153b5!important;box-shadow:none!important}
:is(.primary,.wide,.modal-main,.ride-primary,.pay-primary,.gold-button,.withdraw-main,.trip-view .arrive,#requestRide,#confirmPrepay) :is(b,strong,span,small){color:#fff!important}
:is(.balance,.finance-hero,.daily-gain,.security-hero,.summary){background:#4169e1!important;color:#fff!important;border-color:#3153b5!important}
:is(.balance,.finance-hero,.daily-gain,.security-hero,.summary) :is(p,small){color:#fff!important}
:is(.avatar,.profile-photo,.account-menu .menu-profile>span,#profileBtn,.top-balance,.map-tools button,.safety-float,.safety-head){background:#3153b5!important;color:#fff!important;border-color:#9abbd6!important}
:is(.person-avatar,.campaign-icon,.incentive-kpis article>span,.quick button,.services button,.outline,.setting-row,.settings-back,.payment-method,.modal-list button){background:#edf3f9!important;color:#163b60!important;border-color:#a8bccd!important}
:is(.services button.selected,.ride-option.selected,.audience-picker button.active,.promotion-audiences button.active,.account-menu nav button.active,.mini-tabs button.active,.earning-kind button.active,.earning-period button.active){background:#dceafa!important;color:#102f50!important;border-color:#4169e1!important}
:is(.audience-picker button,.promotion-audiences button){background:#fff!important;color:#152c42!important;border-color:#a8bccd!important}
:is(.link,.gold-text,#editRoute,.map-filter.active,.setting-row>span){color:#174f83!important}
.mini-map>b{background:#4169e1!important;color:#fff!important;border-color:#fff!important}
.bar-col i{background:#4169e1!important;box-shadow:none!important}.bar-col b,.bar-col span{color:#152c42!important}
:is(.console #connect.online,.accept-offer){background:#087b47!important;color:#fff!important;border-color:#087b47!important}
:is(.console #connect:not(.online),.decline-offer,.danger,.sos-button){background:#b4233f!important;color:#fff!important;border-color:#b4233f!important}
:is(.money-in,.status-good,.ok,.success,.status-strip span){color:#087b47!important}:is(.money-out,.status-bad,.critical,.danger-link){color:#b4233f!important}
:is(.tag.success,.secure,.payment-health,.prepaid-notice,.payment-confirmed){background:#e0f3e9!important;color:#08603a!important;border-color:#80bda2!important}
:is(.prepaid-notice,.payment-confirmed) :is(small,p){color:inherit!important}
:is(.tag.warning,.tag.alert,.surge){background:#fff1cf!important;color:#785100!important;border-color:#be9238!important}
:is(button,a,input,select,textarea):focus-visible{outline-color:#4169e1!important}
/* Tables must set their own foreground; legacy admin styles assign white to td. */
.admin-shell table{background:#fff!important;color:#152c42!important}
.admin-shell table :is(td,th){color:#152c42!important;border-color:#bccbd8!important;opacity:1!important}
.admin-shell table th{background:#e7eff7!important;color:#102f50!important}
.admin-shell table td{background:#fff!important}
.admin-shell table td :is(b,strong,a){color:#152c42!important}
.admin-shell table td small{color:#40596e!important}
.admin-shell table tbody tr:hover td{background:#edf3f9!important}
.admin-shell :is(.money-in,.gross-total),.admin-shell .money-in .numeric-value{color:#087b47!important}
.admin-shell :is(.money-out),.admin-shell .money-out .numeric-value{color:#b4233f!important}
.admin-shell .finance-hero .money-in,.admin-shell .finance-hero .money-in .numeric-value{color:#08603a!important}
.admin-shell .finance-hero .money-out,.admin-shell .finance-hero .money-out .numeric-value{color:#b4233f!important}
/* Readable feedback and long names in settings and people forms. */
#adminModal :is(.settings-manager,#editPersonForm,#newPersonForm) :is(input,select,textarea){font-size:1rem!important;font-weight:600!important;line-height:1.5!important}
#adminModal .settings-manager #settingsFeedback{color:#08603a!important;white-space:pre-wrap;overflow-wrap:anywhere}
#adminModal .settings-manager #settingsFeedback[data-state="error"]{color:#b4233f!important}
#adminModal .settings-manager #settingsFeedback p{color:inherit!important}
#adminModal .settings-manager button:disabled{background:#e7eff7!important;color:#506579!important;cursor:wait}
#adminModal .settings-manager :is(h2,button b,button span){overflow-wrap:anywhere}
/* Matching compact cards: one label and one address line at normal text size. */
.app-shell .route-address-card,.app-shell .ride-option{box-sizing:border-box!important;min-height:4rem!important;height:auto!important;padding:0.625rem 0.75rem!important;border-width:2px!important;border-radius:17px!important;box-shadow:none!important}
.app-shell .route-address-card{padding-right:2.5rem!important;min-width:0!important}
.app-shell .route-address-card small{font-size:0.875rem!important;line-height:1.25rem!important;margin:0!important}
.app-shell .route-address-card b{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:1rem!important;line-height:1.5rem!important}
.app-shell .ride-option b{font-size:1rem!important;line-height:1.5rem!important}
.app-shell .ride-option small{font-size:0.875rem!important;line-height:1.25rem!important;margin:0!important}
.app-shell .route-address-card.pickup small i{color:#087b47!important}
.app-shell .route-address-card.destination small i{color:#b4233f!important}
:is(.topbar,.driver-head,.bottom-nav,.console,.admin-shell aside,.balance,.finance-hero,.daily-gain,.security-hero,.summary,.primary,.ride-primary,.pay-primary){background-image:none!important;box-shadow:none!important}
.admin-shell .finance-hero .money-in{background:#e0f3e9!important;color:#08603a!important;border-radius:6px;padding:2px 6px}
.admin-shell .finance-hero .money-out{background:#fff0f3!important;color:#b4233f!important;border-radius:6px;padding:2px 6px}
/* Explicit surface/text pairs for legacy dark detail rows and status labels. */
.admin-shell .detail-list>div{background:#edf2fc!important;color:#152c42!important;gap:12px;flex-wrap:wrap}
.admin-shell .detail-list>div :is(span,b,strong,small){color:#152c42!important;overflow-wrap:anywhere;min-width:0}
.admin-shell .command-center .section-title>span{background:#e7edff!important;color:#2546a3!important;font-size:0.875rem!important;white-space:nowrap}
.admin-shell .tag.progress{background:#e7edff!important;color:#2546a3!important}
.admin-shell .tag.alert{background:#fff0f3!important;color:#a61d38!important}
.admin-shell .tag{font-size:0.875rem!important}
.admin-shell .emergency-item{background:#fff0f3!important;color:#152c42!important}
.admin-shell .emergency-item :is(h2,h3,p,b,small){color:#152c42!important}
.admin-shell :is(.map-caption,.safety-map-caption){background:#edf2fc!important;color:#152c42!important}
.admin-shell :is(.map-caption,.safety-map-caption) :is(span,b,p,small){color:#152c42!important}
.admin-shell .transaction>span{background:#e7edff!important;color:#2546a3!important}
.admin-shell .command-grid :is(.waiting,.withdrawal){background:#fff1cf!important;color:#785100!important}
.admin-shell .command-grid .running{background:#e7edff!important;color:#2546a3!important}
.admin-shell .command-grid .approval{background:#e0f3e9!important;color:#08603a!important}
.admin-shell .command-grid .emergency{background:#fff0f3!important;color:#a61d38!important}
.admin-shell .command-grid .support{background:#eee9ff!important;color:#50359b!important}
.admin-shell .command-grid i .numeric-value{color:inherit!important}
}

#actionBody #vehicleRegistration label{display:flex;flex-direction:column;gap:8px;margin:16px 0;font-size:16px}#actionBody #vehicleRegistration input{box-sizing:border-box;width:100%;min-height:54px;padding:12px 14px;border:2px solid #9aafbe;border-radius:12px;background:#fff;color:#173344;font-size:18px}#actionBody #vehicleRegistration input:focus{outline:3px solid #8aa5ef;outline-offset:2px}#actionBody #closeVehicleStatus{margin-top:12px;background:#edf3f7;color:#173344}

#actionBody .vehicle-record{padding:18px;margin:18px 0;border:2px solid #bfced9;border-radius:16px;background:#fff;color:#193448}#actionBody .vehicle-record h3{color:#193448;margin:0 0 10px}#actionBody .vehicle-status{display:inline-block;background:#e6f3ed;color:#195a3b!important;padding:8px 12px;border-radius:10px;font-weight:700}#actionBody .vehicle-record dl{display:grid;grid-template-columns:1fr 1fr;gap:14px}#actionBody .vehicle-record dd{margin:4px 0;overflow-wrap:anywhere;font-weight:700}#actionBody .vehicle-doc{border-top:1px solid #cad6df;padding:14px 0;overflow-wrap:anywhere}#vehicleDocumentForm label{display:flex;flex-direction:column;gap:10px;margin:18px 0}#vehicleDocumentForm select{width:100%;min-height:54px;padding:12px;border:2px solid #9aafbe;border-radius:12px;background:white;color:#193448;font-size:16px}#vehicleDocumentForm .vehicle-file-picker{position:relative;min-height:54px;justify-content:center;align-items:center;border:2px solid #4167cc;border-radius:12px;background:#eef3fc;color:#193448;font-weight:700;overflow:hidden}#vehicleDocumentForm input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}#vehicleDocumentForm .vehicle-file-picker:focus-within{outline:3px solid #89a7ef;outline-offset:2px}#backToVehicles{margin-top:12px}#vehicleFileName{overflow-wrap:anywhere}

#completeVehicleForm label{display:flex;flex-direction:column;gap:8px;margin:16px 0}#completeVehicleForm input:not([type=file]){box-sizing:border-box;width:100%;min-height:54px;padding:12px;border:2px solid #9aafbe;border-radius:12px;color:#193448;background:#fff;font-size:18px}#completeVehicleForm .vehicle-file-picker{position:relative;min-height:54px;justify-content:center;align-items:center;border:2px solid #4167cc;border-radius:12px;background:#eef3fc;color:#193448;font-weight:700;overflow:hidden}#completeVehicleForm input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}#completeVehicleForm .vehicle-file-picker:focus-within{outline:3px solid #89a7ef;outline-offset:2px}#completeVehicleForm [data-file-name]{overflow-wrap:anywhere}#cancelCompleteVehicle{margin-top:12px}#completeVehicleForm input:read-only{background:#edf2f6}

/* The Central modal is outside .admin-shell; give its detail rows their own theme. */
#adminModal .detail-list>div{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;min-height:52px;padding:14px 16px;margin:10px 0;border:1px solid #c1d0df;border-radius:12px;background:#edf3fa!important;color:#18344b!important;font-size:16px;line-height:1.5}
#adminModal .detail-list>div :is(span,b,strong,small){color:#18344b!important;min-width:0;overflow-wrap:anywhere;opacity:1!important}
#adminModal .detail-list>div>span{flex:1 1 100px;font-weight:500}
#adminModal .detail-list>div>:is(b,strong){flex:1 1 140px;text-align:right;font-weight:700}
#adminModal #editPersonForm>button{min-height:48px;margin-top:18px}
@media(max-width:360px){#adminModal .detail-list>div>:is(b,strong){flex-basis:100%;text-align:left}}

#adminModal [data-view-document]{display:block!important;min-height:48px;width:100%;padding:12px 16px;border:2px solid #3157bf;border-radius:12px;background:#eaf1ff!important;color:#193d80!important;font-size:16px;font-weight:700;margin:12px 0}#adminModal .document-preview{margin:16px 0;padding:12px;background:#edf3fa;border:1px solid #b5c8da;border-radius:12px}#adminModal .document-preview img{display:block;max-width:100%;width:100%;height:auto;object-fit:contain}#adminModal .document-preview object{display:block;width:100%;height:60vh}#adminModal .document-preview a{display:block!important;color:#214c98!important;font-weight:700;min-height:48px}#adminModal .document-preview[hidden]{display:none!important}

#adminModal [data-passenger-photo-review]{min-height:48px;padding:12px;margin:10px 8px 0 0;border:2px solid #3157bf;border-radius:12px;background:#4167df;color:white;font-size:16px;font-weight:700}

/* Driver home fits the browser's available viewport, including its changing bars. */
html:has(body #driver #home.active){height:100%;overflow:hidden}
body:has(#driver #home.active){display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;height:100vh;height:100dvh;min-height:0!important;margin:0!important;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)!important;overflow:hidden!important}
body:has(#driver #home.active)>.test-notice{grid-row:1;padding:5px 10px;font-size:12px;line-height:1.3}
body:has(#driver #home.active)>#app{grid-row:2;min-height:0;height:100%;width:100%;overflow:hidden}
body:has(#driver #home.active)>.app-links{grid-row:3;gap:6px;padding:6px 8px!important;flex-wrap:nowrap}
body:has(#driver #home.active)>.app-links :is(a,button){flex:1;min-width:0;min-height:40px;padding:8px 4px;font-size:13px;text-align:center}
body:has(#home.active) #driver{display:flex!important;flex-direction:column;height:100%;min-height:0!important;width:100%;max-width:none;margin:0}
body:has(#home.active) #driver .driver-head{position:relative!important;top:auto!important;flex:0 0 auto;height:64px!important;min-height:64px!important;padding:8px 16px!important;margin:0!important}
body:has(#home.active) #driverContent{flex:1;min-height:0;height:auto;padding:0!important;overflow:hidden}
body #driver #home.active{display:flex!important;flex-direction:column;height:100%!important;min-height:0!important;overflow:hidden!important}
body #driver #home.active .map{flex:1 1 0;min-height:0!important;height:auto!important;width:100%;margin:0!important}
body #driver #home.active .home-sheet{flex:0 0 auto;margin:0!important;padding:8px 12px!important;min-height:0;border-radius:0!important}
body #driver #home.active .console{margin:0!important;padding:0!important;gap:8px;grid-template-columns:52px minmax(0,1fr) 52px}
body #driver #home.active .console>button{height:52px!important;min-height:52px!important;margin:0!important}
body #driver #home.active .console #connect{font-size:17px!important;line-height:1.25;white-space:normal}
body #driver #home.active .map .brand-map{top:16px!important;left:16px!important}
@media(max-height:500px){body:has(#home.active) #driver .driver-head{height:54px!important;min-height:54px!important;padding:3px 12px!important}body #driver #home.active .map-tools{display:flex!important;top:12px!important;right:12px!important;gap:6px}body #driver #home.active .map-tools button{width:44px;height:44px}body #driver #home.active .map .brand-map{max-width:42%;font-size:14px}}
