:root{--contrast-dark:#142536;--contrast-dark-strong:#071827;--contrast-light:#f7f9fb;--contrast-light-muted:#d4dee7;--contrast-gold:#f0ce87;--surface-dark-text:#f7f9fb;--surface-dark-muted:#d4dee7;--surface-light-text:#142536;--surface-light-strong:#071827}

/* VIPSYS interno: superfícies escuras. */
body:has(#app:not(.hidden)) #app main,body:has(#app:not(.hidden)) #content{color:var(--contrast-light)}
#content .panel-head,#content .settings-card>header,#content .email-reader>header,#content .dashboard-metrics .metric-card,#content .precheck-review-card,dialog form>header,dialog .modal-head,dialog footer,dialog .modal-actions,dialog .signature-actions{color:var(--contrast-light);-webkit-text-fill-color:var(--contrast-light)}
#content .panel-head h1,#content .panel-head h2,#content .panel-head h3,#content .settings-card>header h1,#content .settings-card>header h2,#content .settings-card>header h3,#content .email-reader>header h1,#content .email-reader>header h2,#content .email-reader>header h3,dialog form>header h1,dialog form>header h2,dialog form>header h3,dialog .modal-head h1,dialog .modal-head h2,dialog .modal-head h3{color:var(--contrast-light)!important;-webkit-text-fill-color:var(--contrast-light)!important}
#content .panel-head small,#content .settings-card>header small,#content .email-reader>header small,dialog form>header small,dialog .modal-head small{color:var(--contrast-gold)!important;-webkit-text-fill-color:var(--contrast-gold)!important}

/* Campos escuros e controles nativos claros. */
#content .panel input:not([type=checkbox]):not([type=radio]):not([type=file]),#content .panel textarea,#content .settings-card input:not([type=checkbox]):not([type=radio]):not([type=file]),#content .settings-card textarea,#content .search,dialog input:not([type=checkbox]):not([type=radio]):not([type=file]),dialog textarea{color:var(--contrast-light)!important;-webkit-text-fill-color:var(--contrast-light)!important;caret-color:var(--contrast-light)}
#content select,dialog select,.checklist-vehicle-change select,.customer-charge-overlay input,.customer-charge-overlay select,.customer-charge-overlay textarea{color:var(--contrast-dark)!important;-webkit-text-fill-color:var(--contrast-dark)!important;caret-color:var(--contrast-dark);color-scheme:light}
select option,select optgroup{background:#fff!important;color:var(--contrast-dark)!important;-webkit-text-fill-color:var(--contrast-dark)!important}

/* Superfícies internas explicitamente claras. */
.customer-finance-overlay>.customer-finance-shell,.customer-finance-entry,.customer-finance-amounts span,.finance-reservation-group,.finance-reservation-group>header,.finance-reservation-totals span,.customer-charge-overlay>.entity-form,.customer-charge-overlay .form-grid,.customer-charge-overlay .modal-actions,.calendar-maintenance-tools,.calendar-maintenance-summary,.registration-expiration-confirm,.precheck-review-issue,.precheck-photo-count{color:var(--contrast-dark)!important;-webkit-text-fill-color:var(--contrast-dark)!important}
.customer-finance-overlay>.customer-finance-shell h1,.customer-finance-overlay>.customer-finance-shell h2,.customer-finance-overlay>.customer-finance-shell h3,.customer-finance-entry b,.customer-finance-entry strong,.finance-reservation-group h4,.finance-reservation-group b,.calendar-maintenance-tools b,.calendar-maintenance-summary b{color:var(--contrast-dark-strong)!important;-webkit-text-fill-color:var(--contrast-dark-strong)!important}
.customer-finance-overlay .modal-head,.customer-charge-overlay .modal-head,.customer-finance-overlay .modal-actions{color:var(--contrast-light)!important;-webkit-text-fill-color:var(--contrast-light)!important}
.customer-finance-overlay .modal-head h2,.customer-charge-overlay .modal-head h2{color:var(--contrast-light)!important;-webkit-text-fill-color:var(--contrast-light)!important}

/* Reserva e contrato público: cartão escuro, blocos claros. */
.book-card,.book-card .screen-heading h1,.book-card .screen-heading h2,.book-card .screen-heading h3{color:var(--contrast-light);-webkit-text-fill-color:var(--contrast-light)}
.contract-access .contract-document h3,.contract-access .contract-terms,.contract-access .contract-terms h2,.contract-access .contract-terms h3,.contract-access .contract-terms p,.contract-access .contract-sign,.contract-access .contract-sign h3,.contract-access .contract-sign label,.contract-access .contract-sign span,.contract-access .contract-verification,.contract-access .contract-verification small{color:var(--contrast-dark)!important;-webkit-text-fill-color:var(--contrast-dark)!important}
.contract-access .contract-document h3,.contract-access .contract-terms>h2{color:var(--contrast-dark-strong)!important;-webkit-text-fill-color:var(--contrast-dark-strong)!important}
.contract-access .contract-sign input{color:var(--contrast-dark)!important;-webkit-text-fill-color:var(--contrast-dark)!important;caret-color:var(--contrast-dark)}

/* Formulário de assinatura é uma superfície clara dentro do cartão escuro. */
.contract-access #contract-sign-form{background:#fbf7ee!important;color:var(--contrast-dark-strong)!important;-webkit-text-fill-color:var(--contrast-dark-strong)!important;color-scheme:light}
.contract-access #contract-sign-form h3,.contract-access #contract-sign-form label,.contract-access #contract-sign-form label>span,.contract-access #contract-sign-form .contract-verification,.contract-access #contract-sign-form .contract-verification small,.contract-access #contract-sign-form .terms,.contract-access #contract-sign-form #contract-consent-label,.contract-access #contract-sign-form #sign-status{color:var(--contrast-dark-strong)!important;-webkit-text-fill-color:var(--contrast-dark-strong)!important}
.contract-access #contract-sign-form input:not([type=checkbox]){background:#fff!important;color:var(--contrast-dark-strong)!important;-webkit-text-fill-color:var(--contrast-dark-strong)!important;caret-color:var(--contrast-dark-strong)!important;color-scheme:light}
.contract-access #contract-sign-form .contract-verification{background:#fff!important}
.contract-access #contract-sign-form #contract-code-help{color:#44586a!important;-webkit-text-fill-color:#44586a!important}
.contract-access #contract-sign-form label.terms{background:linear-gradient(145deg,#173b5b,#0a2135)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid #b79343!important;border-radius:12px!important;padding:16px!important;align-items:flex-start!important}
.contract-access #contract-sign-form label.terms>span{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 1px 1px #0006!important}
.contract-access #contract-sign-form label.terms #contract-consent-label{color:#fff!important;-webkit-text-fill-color:#fff!important}
.contract-access #contract-sign-form button#submit-contract-signature{background:#f2ce75!important;background-image:none!important;color:#071827!important;-webkit-text-fill-color:#071827!important;border:2px solid #8a672d!important;opacity:1!important;text-shadow:none!important;box-shadow:0 5px 12px #07182733!important}
.contract-access #contract-sign-form #send-contract-code{background:#fff!important;color:var(--contrast-dark-strong)!important;-webkit-text-fill-color:var(--contrast-dark-strong)!important}

/* Portal do cliente: base clara e destaques escuros. */
.auth-card,.portal-panel,.reservation,.contract-dialog,.contract-dialog>header,.contract-dialog>footer,.contract-summary,.portal-panel .price-details>div,.reservation .price-details>div,.rental-term-guide,.rental-term-guide article{color:var(--surface-light-text)!important;-webkit-text-fill-color:var(--surface-light-text)!important}
.portal-header,.welcome,.delivery-fee-preview{color:var(--contrast-light)!important;-webkit-text-fill-color:var(--contrast-light)!important}
.portal-header b,.welcome span,.delivery-fee-preview strong{color:var(--contrast-gold)!important;-webkit-text-fill-color:var(--contrast-gold)!important}
.portal-header input,.portal-header select,.portal-header textarea,.auth-card input,.auth-card select,.auth-card textarea,.contract-dialog input,.contract-dialog select,.contract-dialog textarea{color:var(--contrast-dark)!important;-webkit-text-fill-color:var(--contrast-dark)!important;caret-color:var(--contrast-dark)}
.auth-card .tabs button.active,.auth-card .primary,.portal-panel .primary,.portal-panel .pay,.portal-panel .view-contract,.portal-panel .edit-reservation{color:var(--contrast-light)!important;-webkit-text-fill-color:var(--contrast-light)!important}
.portal-panel .welcome .primary{color:var(--contrast-dark-strong)!important;-webkit-text-fill-color:var(--contrast-dark-strong)!important}

/* Busca principal de reservas: superfície clara e texto sempre visível no Safari/iPhone. */
#content #reservation-list-search{background:#fff!important;background-image:none!important;color:var(--contrast-dark-strong)!important;-webkit-text-fill-color:var(--contrast-dark-strong)!important;caret-color:var(--contrast-dark-strong)!important;color-scheme:light}
#content #reservation-list-search::placeholder{color:#586b7c!important;-webkit-text-fill-color:#586b7c!important;opacity:1}

/* Busca da Frota: também usa superfície clara; texto e cursor não podem herdar o branco global. */
#content #fleet-list-search{background:#fff!important;background-image:none!important;color:var(--contrast-dark-strong)!important;-webkit-text-fill-color:var(--contrast-dark-strong)!important;caret-color:var(--contrast-dark-strong)!important;color-scheme:light}
#content #fleet-list-search::placeholder{color:#586b7c!important;-webkit-text-fill-color:#586b7c!important;opacity:1}

/* Preferências de comunicação no cadastro do cliente. */
.customer-communication-preferences{border:1px solid #c8a84e;border-radius:18px;padding:16px;background:#f8f6ef;color:#071d33;-webkit-text-fill-color:#071d33}
.customer-communication-preferences legend{padding:0 8px;font-weight:800;color:#071d33;-webkit-text-fill-color:#071d33}
.customer-communication-preferences p{margin:0 0 12px;color:#30465a;-webkit-text-fill-color:#30465a}
.customer-channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.customer-channel-grid label{margin:0;cursor:pointer}.customer-channel-grid input{position:absolute;opacity:0;pointer-events:none}
.customer-channel-grid span{min-height:58px;display:flex;align-items:center;justify-content:center;gap:8px;border:2px solid #aeb8c1;border-radius:14px;background:#fff;color:#071d33;-webkit-text-fill-color:#071d33}
.customer-channel-grid input:checked+span{border-color:#c8a84e;background:#092d4b;color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 0 0 2px rgba(200,168,78,.2)}
.customer-channel-grid input:focus-visible+span{outline:3px solid #2b7bbb;outline-offset:2px}
@media(max-width:560px){.customer-channel-grid{grid-template-columns:1fr}.customer-channel-grid span{justify-content:flex-start;padding:0 16px}}

/* Pagamento, extensão e localização públicos. */
.payment-shell,.payment-shell .card{color:var(--surface-dark-text)!important;-webkit-text-fill-color:var(--surface-dark-text)!important}
.payment-shell .card h1,.payment-shell .card h2,.payment-shell .card h3,.payment-shell .summary dd,.payment-shell .breakdown b{color:var(--surface-dark-text)!important;-webkit-text-fill-color:var(--surface-dark-text)!important}
.payment-shell .intro,.payment-shell .security,.payment-shell .account-offer>p,.payment-shell .breakdown span{color:var(--surface-dark-muted)!important;-webkit-text-fill-color:var(--surface-dark-muted)!important}
.payment-shell .eyebrow,.payment-shell .summary dt{color:var(--contrast-gold)!important;-webkit-text-fill-color:var(--contrast-gold)!important}
.payment-shell .providers button,.payment-shell input:not([type=checkbox]),body:has(link[href*="extend.css"]) main,body:has(link[href*="extend.css"]) input,body:has(link[href*="location.css"]) main,body:has(link[href*="location.css"]) section{color:var(--contrast-dark)!important;-webkit-text-fill-color:var(--contrast-dark)!important;caret-color:var(--contrast-dark)}

/* Autofill do Safari/Chrome conserva contraste do campo claro. */
.contract-access input:-webkit-autofill,.auth-card input:-webkit-autofill,.portal-panel input:-webkit-autofill,.customer-charge-overlay input:-webkit-autofill,body:has(link[href*="extend.css"]) input:-webkit-autofill,.payment-shell input:-webkit-autofill{-webkit-text-fill-color:var(--contrast-dark)!important;caret-color:var(--contrast-dark)!important}

/* Book Now: indicador de disponibilidade com contraste forte em todos os temas. */
.category-card .availability.yes{background:#08734e!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:2px solid #cda750!important;font-size:13px!important;font-weight:900!important;line-height:1.2;box-shadow:0 3px 10px #07182755}
/* VIPSYS-580 · contraste explícito do editor de fotos. */
.fleet-photo-editor-card,.fleet-photo-editor-card b,.fleet-photo-editor-card small{color:#0b2e4f!important;-webkit-text-fill-color:#0b2e4f!important}.fleet-photo-editor-card button{color:#fff!important;-webkit-text-fill-color:#fff!important}.fleet-photo-editor-card .make-primary{color:#071e33!important;-webkit-text-fill-color:#071e33!important}.fleet-photo-menu,.fleet-photo-menu h3,.fleet-photo-menu b,.fleet-photo-editor-shell,.fleet-photo-editor-shell h2,.fleet-photo-empty{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Book Now: texto preto em campo claro */
.book-screen .form-grid input:not([type=checkbox]):not([type=radio]),
.book-screen .form-grid select,
.book-screen .customer-fields input:not([type=checkbox]),
.book-screen .customer-fields select,
.book-screen .lookup-phone-step input,
.book-screen .lookup-code-step input {
  background:#fff !important;
  background-image:none !important;
  color:#071827 !important;
  -webkit-text-fill-color:#071827 !important;
  caret-color:#071827 !important;
  color-scheme:light;
}
.book-screen .form-grid input::placeholder,
.book-screen .customer-fields input::placeholder {
  color:#5b6b75 !important;
  -webkit-text-fill-color:#5b6b75 !important;
}
.book-screen .checkout-payment-option,
.book-screen .checkout-payment-option b,
.book-screen .checkout-payment-option small {
  color:#071827 !important;
  -webkit-text-fill-color:#071827 !important;
}
.book-screen .screen-actions #pay-button {
  background:#f2ce75 !important;
  background-image:none !important;
  color:#071827 !important;
  -webkit-text-fill-color:#071827 !important;
  border:2px solid #8a672d !important;
  font-weight:900 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Charge-link action menu: dark buttons need light labels (do not inherit shell dark fill). */
.charge-link-action-list button,.charge-link-action-list button.primary{color:#fff!important;-webkit-text-fill-color:#fff!important}
.charge-link-action-list button.primary{color:#f0ce87!important;-webkit-text-fill-color:#f0ce87!important}
.charge-link-action-list small{color:#526474!important;-webkit-text-fill-color:#526474!important}


/* task-663: contract review body text on paper field */
.contract-access .contract-document,
.contract-access .contract-document dl,
.contract-access .contract-document dt,
.contract-access .contract-document dd,
.contract-access .contract-document span,
.contract-access .contract-document b,
.contract-access .contract-charges,
.contract-access .contract-charges span,
.contract-access .contract-charges b,
.contract-access .cw-terms-scroll,
.contract-access .cw-terms-scroll p,
.contract-access .cw-terms-scroll h2,
.contract-access .cw-terms-scroll h3{
  color:var(--contrast-dark-strong)!important;
  -webkit-text-fill-color:var(--contrast-dark-strong)!important;
}
.contract-access .contract-document,
.contract-access .cw-terms-scroll{
  background:#fff!important;
}

/* task-664: readable paper rows — no stacked/overlapping text */
.contract-access .contract-document,
.contract-access .cw-terms-scroll{
  background:#fff!important;
  color:var(--contrast-dark-strong)!important;
  -webkit-text-fill-color:var(--contrast-dark-strong)!important;
  letter-spacing:normal!important;
}
.contract-access .contract-document,
.contract-access.contract-wizard .contract-document{
  display:flex!important;
  flex-direction:column!important;
  align-content:start!important;
  grid-template-rows:none!important;
  grid-auto-rows:auto!important;
}
.contract-access .contract-document>section{
  position:relative!important;
  flex:0 0 auto!important;
  min-height:auto!important;
  height:auto!important;
  overflow:visible!important;
  transform:none!important;
}
.contract-access .contract-document dl,
.contract-access .contract-document dt,
.contract-access .contract-document dd,
.contract-access .contract-document span,
.contract-access .contract-document b,
.contract-access .contract-charges,
.contract-access .contract-charges span,
.contract-access .contract-charges b,
.contract-access .cw-terms-scroll,
.contract-access .cw-terms-scroll p,
.contract-access .cw-terms-scroll h2,
.contract-access .cw-terms-scroll h3{
  color:var(--contrast-dark-strong)!important;
  -webkit-text-fill-color:var(--contrast-dark-strong)!important;
  line-height:1.55!important;
  letter-spacing:normal!important;
  position:static!important;
  float:none!important;
  transform:none!important;
}
.contract-access .contract-document dd,
.contract-access .contract-charges>div span{
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.contract-access .contract-charges>div{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  position:static!important;
  margin:0!important;
}

/* task-665: brand contact links stay readable on dark wizard card */
#contract-access.contract-wizard .contract-public-brand a{
  color:#f7f9fb!important;
  -webkit-text-fill-color:#f7f9fb!important;
}
#contract-access.contract-wizard .cw-brand-logo{
  background:transparent!important;
}



/* task-666 sticky total + logo */
#contract-access.contract-wizard .cw-brand-logo{
  background:transparent!important;
  width:104px!important;
}
@media(max-width:700px){
  #contract-access.contract-wizard .cw-brand-logo{width:92px!important}
}
#contract-access.contract-wizard .cw-sticky-total{
  background:linear-gradient(180deg,#0d2438,#071827)!important;
  color:#f7f9fb!important;
  -webkit-text-fill-color:#f7f9fb!important;
}
#contract-access.contract-wizard .cw-sticky-total strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#contract-access.contract-wizard .contract-charges .cw-total-lead,
#contract-access.contract-wizard .contract-charges .cw-total-lead span,
#contract-access.contract-wizard .contract-charges .cw-total-lead b{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#contract-access.contract-wizard .contract-charges .cw-total-lead span{
  color:#d9ba70!important;
  -webkit-text-fill-color:#d9ba70!important;
}
#contract-access.contract-wizard .contract-number{display:none!important}


/* task-666 intro brand contrast */
#contract-access.contract-wizard .cw-screen[data-cw=intro] .contract-public-brand,
#contract-access.contract-wizard .cw-screen[data-cw=intro] .contract-public-brand strong,
#contract-access.contract-wizard .cw-screen[data-cw=intro] .contract-public-brand span{
  color:#f7f9fb!important;-webkit-text-fill-color:#f7f9fb!important;
}
#contract-access.contract-wizard .cw-screen[data-cw=intro] .cw-brand-contact a{
  color:#d9ba70!important;-webkit-text-fill-color:#d9ba70!important;
}
#contract-access.contract-wizard .cw-screen[data-cw=details] .cw-details-photo{border:1px solid #d7b35a}


/* task-667: sticky total may sit outside .cw-paper-shell as sibling */
#contract-access.contract-wizard .cw-screen[data-cw=details] > .cw-sticky-total,
#contract-access.contract-wizard .cw-screen[data-cw=details] > #cw-sticky-total{
  color:#f7f9fb!important;
  -webkit-text-fill-color:#f7f9fb!important;
  background:linear-gradient(180deg,#0d2438,#071827)!important;
}
#contract-access.contract-wizard .cw-screen[data-cw=details] > .cw-sticky-total strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#contract-access.contract-wizard .cw-screen[data-cw=details] > .cw-sticky-total span{
  color:#d9ba70!important;
  -webkit-text-fill-color:#d9ba70!important;
}


/* task-668: accept label readable on dark navy; sticky total retired */
#contract-access.contract-wizard .cw-accept,
#contract-access.contract-wizard .cw-accept span,
#contract-access.contract-wizard label.cw-accept.terms,
#contract-access.contract-wizard label.cw-accept.terms > span{
  color:#f7f9fb!important;
  -webkit-text-fill-color:#f7f9fb!important;
}
#contract-access.contract-wizard .cw-accept,
#contract-access.contract-wizard label.cw-accept.terms{
  background:linear-gradient(145deg,#173b5b,#0a2135)!important;
  border-color:#cda750!important;
}
#contract-access.contract-wizard .cw-screen[data-cw=details] > .cw-sticky-total,
#contract-access.contract-wizard .cw-screen[data-cw=details] > #cw-sticky-total,
#contract-access.contract-wizard .cw-sticky-total{
  display:none!important;
}
#contract-access.contract-wizard .contract-charges .cw-total-lead,
#contract-access.contract-wizard .contract-charges .cw-total-footer,
#contract-access.contract-wizard .contract-charges .cw-total-lead span,
#contract-access.contract-wizard .contract-charges .cw-total-lead b,
#contract-access.contract-wizard .contract-charges .cw-total-footer span,
#contract-access.contract-wizard .contract-charges .cw-total-footer b{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#contract-access.contract-wizard .contract-charges .cw-total-lead span,
#contract-access.contract-wizard .contract-charges .cw-total-footer span{
  color:#d9ba70!important;
  -webkit-text-fill-color:#d9ba70!important;
}


/* task-669: kill book-modern .terms navy/muted inherit — accept MUST be white */
body.contract-mode #contract-access.contract-wizard label.cw-accept.terms,
body.contract-mode #contract-access.contract-wizard label.cw-accept.terms > span,
body.contract-mode #contract-access.contract-wizard .cw-accept,
body.contract-mode #contract-access.contract-wizard .cw-accept > span,
body.contract-mode #contract-access.contract-wizard .terms.cw-accept,
body.contract-mode #contract-access.contract-wizard .terms.cw-accept > span,
#contract-access.contract-wizard.book-card label.cw-accept.terms,
#contract-access.contract-wizard.book-card label.cw-accept.terms > span,
#contract-access.contract-wizard .cw-screen[data-cw=details] > label.cw-accept.terms,
#contract-access.contract-wizard .cw-screen[data-cw=details] > label.cw-accept.terms > span{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
body.contract-mode #contract-access.contract-wizard label.cw-accept.terms,
body.contract-mode #contract-access.contract-wizard .cw-accept,
#contract-access.contract-wizard.book-card label.cw-accept.terms{
  background:linear-gradient(145deg,#173b5b,#0a2135)!important;
  border-color:#cda750!important;
}


/* task-669b: solid navy accept bg + white text (beat transparent computed bg) */
body.contract-mode #contract-access.contract-wizard label.cw-accept.terms,
body.contract-mode #contract-access.contract-wizard .cw-accept,
#contract-access.contract-wizard .cw-screen[data-cw=details] > label.cw-accept.terms{
  background-color:#0a2135!important;
  background-image:linear-gradient(145deg,#173b5b,#0a2135)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
body.contract-mode #contract-access.contract-wizard label.cw-accept.terms > span,
body.contract-mode #contract-access.contract-wizard .cw-accept > span,
#contract-access.contract-wizard .cw-screen[data-cw=details] > label.cw-accept.terms > span{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}


/* ===== task-674 contrast-guard: post-sign + return + messages color only ===== */
.book-card .optional-account-access,
.book-card .optional-account-access h3,
.book-card .optional-account-access p,
.book-card .optional-account-access span,
.book-card .optional-account-access strong,
#contract-access.contract-wizard .optional-account-access,
#contract-access.contract-wizard .optional-account-access h3,
#contract-access.contract-wizard .optional-account-access p,
#contract-access.contract-wizard .optional-account-access span{
  color:#071827!important;
  -webkit-text-fill-color:#071827!important;
}
#contract-access.contract-wizard .optional-account-access p,
.book-card .optional-account-access p{
  color:#30465a!important;
  -webkit-text-fill-color:#30465a!important;
}
#contract-access.contract-wizard .optional-account-access a.secondary,
#contract-access.contract-wizard .optional-account-access button.secondary,
.book-card .optional-account-access a.secondary,
.book-card .optional-account-access button.secondary,
#contract-access.contract-wizard .cw-nav a.secondary,
#contract-access.contract-wizard .screen-actions a.secondary,
.book-card .screen-actions a.secondary{
  background:#fff!important;
  color:#071827!important;
  -webkit-text-fill-color:#071827!important;
  border-color:#cda750!important;
}
#contract-access.contract-wizard .optional-account-access a:not(.secondary),
.book-card .optional-account-access a:not(.secondary){
  background:#071827!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#contract-signed.contract-signed,
#contract-access .contract-signed,
.book-card .contract-signed{
  background:#e5f6ef!important;
  color:#08734e!important;
  -webkit-text-fill-color:#08734e!important;
  border-color:#57aa88!important;
}
#contract-access.contract-wizard .cw-screen[data-cw=messages] label.sms-consent.cw-accept,
#contract-access.contract-wizard .cw-screen[data-cw=messages] label.sms-consent.cw-accept > span{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}


/* ===== task-676: gallery Return to contract — navy/gold, always visible ===== */
#cw-gallery-overlay .cw-gallery-return,
#cw-gallery-overlay [data-cw-gallery-return],
#cw-gallery-return,
#cw-gallery-return-bottom,
body.cw-gallery-open .cw-gallery-return,
body.cw-gallery-open [data-cw-gallery-return]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  background:linear-gradient(145deg,#1a4060,#0c2438)!important;
  background-color:#0c2438!important;
  color:#f0ce87!important;
  -webkit-text-fill-color:#f0ce87!important;
  border:2px solid #d7b35a!important;
  min-height:52px!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  z-index:5!important;
}
body.cw-gallery-open #cw-gallery-overlay{
  display:flex!important;
  visibility:visible!important;
  z-index:2147483000!important;
}


/* ===== task-677: thumbnail lightbox above gallery overlay ===== */
.vehicle-photo-viewer,
body.cw-gallery-open .vehicle-photo-viewer,
body.vehicle-photo-viewer-open .vehicle-photo-viewer{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  pointer-events:auto!important;
  display:grid!important;
  visibility:visible!important;
}
.vehicle-photo-viewer .vehicle-photo-viewer-close,
.vehicle-photo-viewer .vehicle-photo-viewer-nav,
.vehicle-photo-viewer figure,
.vehicle-photo-viewer img{
  pointer-events:auto!important;
}
/* Ensure gallery thumbs remain clickable under overlay */
body.cw-gallery-open #cw-gallery-grid,
body.cw-gallery-open #cw-gallery-grid button,
body.cw-gallery-open #cw-gallery-grid img{
  pointer-events:auto!important;
  cursor:zoom-in!important;
  position:relative!important;
  z-index:2!important;
}


/* ===== task-682: fleet/entity edit modal — light form body dark ink =====
   Beats dialog-wide color:#fff / -webkit-text-fill-color from dark chrome.
   Does NOT touch reservation-wizard / extension dark bodies.
   Plataformas (.promo-categories) stay white-on-dark. */
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields,
#entity-form #form-fields,
#modal #form-fields{
  background:linear-gradient(180deg,#fffdfa,#f7f3ea)!important;
  color:var(--contrast-dark-strong,#071827)!important;
  -webkit-text-fill-color:var(--contrast-dark-strong,#071827)!important;
}
#entity-form #form-fields label,
#entity-form #form-fields legend,
#entity-form #form-fields p,
#entity-form #form-fields small,
#entity-form #form-fields span:not(.badge):not(.status),
#entity-form #form-fields b,
#entity-form #form-fields strong,
#entity-form #form-fields h3,
#entity-form #form-fields h4,
#entity-form #form-fields summary,
#entity-form #form-fields td,
#entity-form #form-fields th,
#entity-form #form-fields .vehicle-finance-panel,
#entity-form #form-fields .vehicle-finance-panel label,
#entity-form #form-fields .vehicle-finance-panel small,
#entity-form #form-fields .vehicle-finance-panel span,
#entity-form #form-fields .vehicle-finance-panel b,
#entity-form #form-fields .vehicle-finance-panel strong,
#entity-form #form-fields .vehicle-finance-panel p,
#entity-form #form-fields .vehicle-finance-panel h3,
#entity-form #form-fields .vehicle-finance-panel summary,
#entity-form #form-fields .vehicle-finance-panel td,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields label,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields legend,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields p,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields small,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields span:not(.badge):not(.status),
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields b,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields strong{
  color:#1a1a1a!important;
  -webkit-text-fill-color:#1a1a1a!important;
  opacity:1!important;
}
#entity-form #form-fields input:not([type=checkbox]):not([type=radio]):not([type=file]),
#entity-form #form-fields select,
#entity-form #form-fields textarea,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields input:not([type=checkbox]):not([type=radio]):not([type=file]),
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields select,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields textarea{
  background:#fff!important;
  background-image:none!important;
  color:#0b2e4f!important;
  -webkit-text-fill-color:#0b2e4f!important;
  caret-color:#0b2e4f!important;
  color-scheme:light;
}
#entity-form #form-fields input::placeholder,
#entity-form #form-fields textarea::placeholder,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields input::placeholder,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields textarea::placeholder{
  color:#667789!important;
  -webkit-text-fill-color:#667789!important;
  opacity:1!important;
}
#entity-form #form-fields .promo-categories label,
#entity-form #form-fields .promo-categories legend,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .promo-categories label,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .promo-categories legend,
dialog .promo-categories label{
  background:linear-gradient(145deg,#123653,#0b263c)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#entity-form #form-fields .promo-categories p,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .promo-categories p{
  color:#d4dee7!important;
  -webkit-text-fill-color:#d4dee7!important;
  background:transparent!important;
}
#entity-form>header h2,dialog form>header h2,dialog .modal-head h2{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
#entity-form>header small,dialog form>header small,dialog .modal-head small{
  color:var(--contrast-gold,#f0ce87)!important;-webkit-text-fill-color:var(--contrast-gold,#f0ce87)!important;
}


/* task-685: Retiradas e entregas pendentes / agenda — white rows need dark ink.
   contrast-guard previously forced --contrast-light onto these tds while
   youvip-palette paints #content .panel td as white → invisible text. */
#content .operations-checklist-panel td,
#content .operations-checklist-panel td b,
#content .operations-checklist-panel td strong,
#content .operations-checklist-panel td small,
#content .operations-checklist-panel td span:not(.badge):not(.status),
#content .dashboard-agenda td,
#content .dashboard-agenda td b,
#content .dashboard-agenda td strong,
#content .dashboard-agenda td small,
#content .dashboard-agenda td span:not(.badge):not(.status){
  color:var(--contrast-dark-strong)!important;
  -webkit-text-fill-color:var(--contrast-dark-strong)!important;
}
#content .operations-checklist-panel td::before,
#content .dashboard-agenda td::before{
  color:#9a742e!important;
  -webkit-text-fill-color:#9a742e!important;
}
#content .operations-checklist-panel .badge,
#content .dashboard-agenda .badge{
  -webkit-text-fill-color:unset;
}
#content .operations-checklist-panel .checklist-action-button,
#content .operations-checklist-panel .extension-button,
#content .operations-checklist-panel .message-action,
#content .operations-checklist-panel button,
#content .dashboard-agenda button{
  /* buttons keep their own backgrounds; do not inherit dark fill as body text */
  -webkit-text-fill-color:unset;
}

/* ===== task-687: fleet-photo-menu navy card light text (after cream form ink) ===== */
#entity-form #form-fields .fleet-photo-menu,
#entity-form #form-fields .fleet-photo-menu h3,
#entity-form #form-fields .fleet-photo-menu b,
#entity-form #form-fields .fleet-photo-menu strong,
#entity-form #form-fields .fleet-photo-menu span:not(.badge):not(.status),
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .fleet-photo-menu,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .fleet-photo-menu h3,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .fleet-photo-menu b,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .fleet-photo-menu strong,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .fleet-photo-menu span:not(.badge):not(.status){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}
#entity-form #form-fields .fleet-photo-menu small,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .fleet-photo-menu small{
  color:#e1bd61!important;
  -webkit-text-fill-color:#e1bd61!important;
}
#entity-form #form-fields .fleet-photo-menu p,
#entity-form #form-fields .fleet-photo-menu-summary span,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .fleet-photo-menu p,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .fleet-photo-menu-summary span{
  color:#d5dce5!important;
  -webkit-text-fill-color:#d5dce5!important;
}
#entity-form #form-fields .fleet-photo-menu > button.primary,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .fleet-photo-menu > button.primary{
  color:#f6d778!important;
  -webkit-text-fill-color:#f6d778!important;
}

/* ===== task-696: home pré-check-in modal — light text on navy (dark modal family) ===== */
#home-precheck-modal,
#home-precheck-modal .home-precheck-form,
#home-precheck-modal .home-precheck-body{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#home-precheck-modal label,
#home-precheck-modal .home-precheck-body label,
#home-precheck-modal .home-precheck-step label{
  color:#f0ce87!important;
  -webkit-text-fill-color:#f0ce87!important;
  font-weight:800;
}
#home-precheck-modal .home-precheck-hint{
  color:#d4dee7!important;
  -webkit-text-fill-color:#d4dee7!important;
}
#home-precheck-modal .home-precheck-progress,
#home-precheck-modal .home-precheck-progress strong,
#home-precheck-modal [data-count]{
  color:#f0ce87!important;
  -webkit-text-fill-color:#f0ce87!important;
}
#home-precheck-modal .home-precheck-vehicle{
  background:linear-gradient(145deg,#123653,#0b263c)!important;
  border-color:#c9a45c!important;
  color:#fff!important;
}
#home-precheck-modal .home-precheck-vehicle strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#home-precheck-modal .home-precheck-vehicle span{
  color:#d4dee7!important;
  -webkit-text-fill-color:#d4dee7!important;
}
#home-precheck-modal input[name="plate"]{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#home-precheck-modal .modal-head>button[data-close],
#home-precheck-modal .modal-head>button.close{
  position:relative;
  z-index:6;
  pointer-events:auto;
  touch-action:manipulation;
  cursor:pointer;
}

/* VIPSYS-698 · featured Pre-check-in tile must stay visible on dark #content */
#content .home-action-tiles,
#content .home-action-tiles-head,
#content .home-action-grid{color:var(--contrast-dark)!important;-webkit-text-fill-color:var(--contrast-dark)!important}
#content .home-action-tiles-head small{color:#748092!important;-webkit-text-fill-color:#748092!important}
#content .home-action-tiles-head h3{color:#0f1b2f!important;-webkit-text-fill-color:#0f1b2f!important}
#content .home-action-tile{color:#142536!important;-webkit-text-fill-color:#142536!important}
#content .home-action-tile strong{color:#0f1b2f!important;-webkit-text-fill-color:#0f1b2f!important}
#content .home-action-tile small{color:#748092!important;-webkit-text-fill-color:#748092!important}
#content .home-action-precheck,
#content .home-action-precheck.home-action-featured{
  display:flex!important;visibility:visible!important;opacity:1!important;
  background:linear-gradient(135deg,#0f1b2f 0%,#123a52 52%,#0f4c63 100%)!important;
  border:2px solid #f0ce87!important;color:#f5e6c8!important;-webkit-text-fill-color:#f5e6c8!important;
}
#content .home-action-precheck strong,#content .home-action-precheck.home-action-featured strong{color:#f5e6c8!important;-webkit-text-fill-color:#f5e6c8!important}
#content .home-action-precheck small,#content .home-action-precheck.home-action-featured small{color:#c5d8e6!important;-webkit-text-fill-color:#c5d8e6!important}
#content .home-action-precheck i{color:#e8f7ff!important;-webkit-text-fill-color:#e8f7ff!important}

