/* Padrão visual compartilhado do administrativo, baseado no módulo de reservas. */
:root{--admin-navy:#071827;--admin-navy-2:#0b2e4f;--admin-gold:#c9a45c;--admin-gold-light:#f0ce87;--admin-cream:#f7f3ea;--admin-cream-light:#fffaf0;--admin-ink:#142536;--admin-muted:#657483;--admin-line:#d9bd79;--admin-shadow:0 20px 55px #07182738}

/* Módulos internos. */
#content .panel,#content .settings-card,#content .planner-panel,#content .email-reader,#content .calendar-day{overflow:hidden;border:1px solid var(--admin-gold);border-radius:20px;background:linear-gradient(180deg,#fffdfa,var(--admin-cream));box-shadow:0 12px 30px #07182718,inset 0 1px #fff}
#content .panel-head,#content .settings-card>header,#content .email-reader>header,#content .planner-panel>.panel-head{border-bottom:1px solid var(--admin-gold);background:linear-gradient(135deg,var(--admin-navy-2),var(--admin-navy));color:#fff;box-shadow:inset 0 -1px #ffffff18}
#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{color:#fff}
#content .panel-head small,#content .panel-head p,#content .panel-head>span,#content .settings-card>header small,#content .email-reader>header small{color:var(--admin-gold-light)}
#content .toolbar{padding:14px;border:1px solid var(--admin-gold);border-radius:16px;background:linear-gradient(145deg,#fffdfa,var(--admin-cream));box-shadow:0 8px 20px #07182712}
#content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),#content select,#content textarea,#content .search{border:1px solid var(--admin-line);background:linear-gradient(180deg,#fff,#f8f4eb);color:var(--admin-ink);box-shadow:inset 0 2px 5px #07182710,0 5px 13px #0718270c}
#content input:focus,#content select:focus,#content textarea:focus,#content .search:focus{border-color:var(--admin-gold);box-shadow:0 0 0 3px #c9a45c28,inset 0 2px 5px #0718270c;outline:0}

/* Moldura comum a todas as famílias de janelas. */
dialog,#modal,#reservation-wizard,#extension-dialog,.signature-dialog,.turo-message-dialog,#fuel-charge-modal,#toll-consultation-dialog{overflow:hidden;padding:0;border:2px solid var(--admin-gold);border-radius:22px;background:var(--admin-cream);color:var(--admin-ink);box-shadow:var(--admin-shadow),inset 0 1px #fff}
dialog::backdrop{background:#071827b8;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
dialog>form{display:flex;flex-direction:column;width:100%;max-height:min(92dvh,920px);margin:0;padding:0;background:linear-gradient(180deg,#fffdfa,var(--admin-cream))}
dialog form>header,dialog .modal-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0;padding:22px 25px;border-bottom:1px solid var(--admin-gold);background:linear-gradient(135deg,var(--admin-navy-2),var(--admin-navy));color:#fff;box-shadow:inset 0 -1px #ffffff18}
dialog form>header h2,dialog .modal-head h2{margin:4px 0;color:#fff;font:700 24px 'Playfair Display',serif}
dialog form>header small,dialog .modal-head small{color:var(--admin-gold-light);font-weight:800;letter-spacing:.13em}
dialog form>header p{margin:6px 0 0;color:#d8e1e9;line-height:1.45}
dialog .close,dialog .modal-head>button{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;padding:0;border:1px solid #ffffff2c;border-radius:50%;background:#ffffff0c;color:#fff;font-size:27px;cursor:pointer}
dialog .close:hover,dialog .modal-head>button:hover{border-color:var(--admin-gold-light);background:#ffffff18;color:var(--admin-gold-light)}

/* Conteúdo rolável e campos 3D. */
dialog #form-fields,dialog #wizard-body,dialog .extension-body,dialog .toll-detail-summary,dialog .form-grid{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#fffdfa,var(--admin-cream))}
dialog label{color:var(--admin-ink);font-weight:800}
dialog input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),dialog select,dialog textarea{width:100%;min-width:0;min-height:52px;border:1px solid var(--admin-line);border-radius:12px;background:linear-gradient(180deg,#fff,#f8f4eb);color:var(--admin-ink);box-shadow:inset 0 2px 5px #07182712,0 6px 15px #0718270d;outline:0}
dialog input:focus,dialog select:focus,dialog textarea:focus{border-color:var(--admin-gold);box-shadow:0 0 0 3px #c9a45c2b,inset 0 2px 5px #0718270c}
dialog input[type="checkbox"],dialog input[type="radio"]{accent-color:#168662}
dialog .checklist-photos,dialog .confirm-box,dialog .confirm-check,dialog .maintenance-referral,dialog .fuel-level-field,dialog .extension-notify,dialog .vehicle-change-panel,dialog .reservation-payment-panel{border:1px solid var(--admin-line);border-radius:15px;background:linear-gradient(145deg,#fff,var(--admin-cream-light));box-shadow:0 7px 18px #0718270e,inset 0 1px #fff}

/* Rodapé único, sempre separado do conteúdo. */
dialog footer,dialog .modal-actions,dialog .signature-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:12px;margin:0;padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--admin-gold);background:linear-gradient(180deg,#0b2439,var(--admin-navy));box-shadow:0 -10px 24px #07182728}
dialog footer button,dialog .modal-actions button,dialog .signature-actions button{min-width:150px;min-height:50px;border-radius:12px}
dialog .primary{border:1px solid var(--admin-gold)!important;background:linear-gradient(145deg,#174c75,var(--admin-navy))!important;color:var(--admin-gold-light)!important;box-shadow:0 8px 18px #0004,inset 0 1px #ffffff1a}
dialog .secondary,dialog .modal-actions button:not(.primary){border:1px solid #9c7d39!important;background:linear-gradient(145deg,#29445b,#122b40)!important;color:#fff!important;box-shadow:0 7px 16px #0003,inset 0 1px #ffffff15}

/* Componentes dinâmicos que não usam o corpo padrão. */
.signature-dialog>form>:not(header):not(.signature-actions),.turo-message-dialog>form>:not(header):not(.signature-actions),#contract-language-dialog>form>:not(header):not(.signature-actions):not(button),#toll-consultation-dialog>form>:not(header):not(footer){margin-left:22px;margin-right:22px}
.signature-dialog>form>label:first-of-type,.turo-message-dialog>form>.turo-dialog-history{margin-top:20px}
.signature-dialog>form>.signature-actions,.turo-message-dialog>form>.signature-actions{margin-top:18px}
#fuel-charge-modal .form-grid{padding:22px}
#fuel-charge-modal .modal-actions{position:sticky;bottom:0}
#toll-consultation-dialog .toll-detail-summary{margin-top:20px}
.signature-dialog>form,.turo-message-dialog>form,#contract-language-dialog>form,#toll-consultation-dialog>form{overflow-y:auto;overscroll-behavior:contain}
.signature-dialog>form>header,.turo-message-dialog>form>header,#contract-language-dialog>form>header,#toll-consultation-dialog>form>header{position:sticky;top:0;z-index:3}
.signature-dialog>form>.signature-actions,.turo-message-dialog>form>.signature-actions,#toll-consultation-dialog>form>footer{position:sticky;bottom:0;z-index:3}

@media(max-width:760px){
  #content .panel,#content .settings-card,#content .planner-panel,#content .email-reader{border-radius:17px}
  dialog[open],#modal[open],#reservation-wizard[open],#extension-dialog[open],.signature-dialog[open]{position:fixed;inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));width:auto;max-width:none;max-height:none;margin:0;border-radius:20px}
  dialog>form{height:100%;max-height:none}
  dialog form>header,dialog .modal-head{padding:17px 18px}
  dialog form>header h2,dialog .modal-head h2{font-size:22px}
  dialog #form-fields,dialog #wizard-body,dialog .extension-body,dialog .form-grid{padding:16px 14px 20px}
  dialog footer,dialog .modal-actions,dialog .signature-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:10px;padding:12px 14px calc(12px + env(safe-area-inset-bottom))}
  dialog footer button,dialog .modal-actions button,dialog .signature-actions button{width:100%;min-width:0;min-height:54px;margin:0}
  dialog .signature-actions [data-save]{grid-column:1/-1}
  .signature-dialog>form>:not(header):not(.signature-actions),.turo-message-dialog>form>:not(header):not(.signature-actions),#contract-language-dialog>form>:not(header):not(.signature-actions):not(button),#toll-consultation-dialog>form>:not(header):not(footer){margin-left:14px;margin-right:14px}
  .long-term-financial-panel .dashboard-reservation-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;width:100%;min-width:0}
  .long-term-financial-panel .dashboard-reservation-actions button{box-sizing:border-box;width:100%;min-width:0;min-height:50px;margin:0;padding:11px 12px;white-space:normal;overflow-wrap:anywhere;line-height:1.25}
}

/* Tema escuro integral — correspondência visual real com o novo módulo de reservas. */
body:has(#app:not(.hidden)){background:#061522}
#app main,#content{background:linear-gradient(180deg,#071827,#061522);color:#fff}
#content .panel,#content .settings-card,#content .planner-panel,#content .email-reader,#content .calendar-day{background:linear-gradient(145deg,#0b2e4f,#071827);color:#fff;box-shadow:0 14px 34px #0004,inset 0 1px #ffffff12}
#content .panel table,#content .settings-card table{background:transparent}
#content .panel th,#content .settings-card th{border-color:var(--admin-gold);background:#071827;color:var(--admin-gold-light)}
#content .panel td,#content .settings-card td{border-color:#8e733e;background:#0b2e4f;color:#fff}
#content .panel td::before,#content .settings-card td::before{color:var(--admin-gold-light)!important}
#content .panel td small,#content .panel td span:not(.badge):not(.status),#content .settings-card td small{color:#d4dee7}
#content .panel td a:not(.primary):not(.button),#content .settings-card td a:not(.primary):not(.button){color:#f0ce87}
#content .panel label,#content .settings-card label,#content .email-reader label{color:#fff}
#content .panel input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),#content .panel select,#content .panel textarea,#content .settings-card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),#content .settings-card select,#content .settings-card textarea,#content .search{border-color:#8e733e;background:linear-gradient(180deg,#173c5c,#0b263c);color:#fff;box-shadow:inset 0 2px 6px #0005,0 6px 15px #0003}
#content input::placeholder,#content textarea::placeholder,#content .search::placeholder{color:#b8c5d0}
#content .toolbar{background:linear-gradient(145deg,#0b2e4f,#071827);color:#fff;box-shadow:0 12px 28px #0003}
#content .empty,#content .empty.standalone{border-color:var(--admin-gold);background:#0b2e4f;color:#d4dee7}
#content .empty h2,#content .empty h3{color:#fff}
#content .settings-card article,#content .settings-card fieldset,#content .settings-card .vehicle-rate-card,#content .settings-card .promo-list article,#content .email-reader article{border-color:#8e733e;background:linear-gradient(145deg,#123653,#0b263c);color:#fff;box-shadow:0 8px 20px #0002}

dialog,#modal,#reservation-wizard,#extension-dialog,.signature-dialog,.turo-message-dialog,#fuel-charge-modal,#toll-consultation-dialog{background:#071827!important;color:#fff!important}
dialog>form,#entity-form,#reservation-wizard-form,#extension-form{background:linear-gradient(180deg,#0b2e4f,#071827)!important;color:#fff!important}
dialog #form-fields,dialog #wizard-body,dialog .extension-body,dialog .toll-detail-summary,dialog .form-grid,#modal #form-fields,#reservation-wizard #wizard-body,#extension-dialog .extension-body{background:linear-gradient(180deg,#0b2e4f,#071827)!important;color:#fff!important}
/* Dark chrome only — do NOT force white labels into light #form-fields / cream panels */
dialog form>header h1,dialog form>header h2,dialog form>header h3,dialog form>header b,dialog form>header strong,
dialog .modal-head h1,dialog .modal-head h2,dialog .modal-head h3,dialog .modal-head b,dialog .modal-head strong,
dialog footer h1,dialog footer h2,dialog footer h3,dialog footer b,dialog footer strong,
dialog .modal-actions h1,dialog .modal-actions h2,dialog .modal-actions h3{color:#fff}
dialog form>header p,dialog form>header small,dialog form>header span,
dialog .modal-head p,dialog .modal-head small,dialog .modal-head span{color:#d4dee7}
dialog input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),dialog select,dialog textarea{border-color:#a18447;background:linear-gradient(180deg,#173c5c,#0b263c);color:#fff;box-shadow:inset 0 2px 6px #0006,0 7px 17px #0003}
dialog input::placeholder,dialog textarea::placeholder{color:#b8c5d0}
dialog .checklist-photos,dialog .confirm-box,dialog .confirm-check,dialog .maintenance-referral,dialog .fuel-level-field,dialog .extension-notify,dialog .vehicle-change-panel,dialog .reservation-payment-panel,dialog .wizard-choice,dialog .wizard-location-choice,dialog .wizard-dates-page,dialog .wizard-summary article,dialog .extension-summary,dialog .final-summary,dialog .toll-detail-summary article,dialog .promo-categories label{border-color:var(--admin-gold);background:linear-gradient(145deg,#123653,#0b263c);color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 8px 20px #0003,inset 0 1px #ffffff10}
dialog .wizard-choice small,dialog .wizard-location-choice small,dialog .extension-summary small,dialog .vehicle-change-panel small{color:#d4dee7}
dialog .customer-choice strong{color:#fff;text-shadow:0 1px 1px #0005}
dialog .customer-choice small{color:#e2e9f0}
dialog .wizard-choice.selected,dialog .wizard-location-choice.selected{border:2px solid var(--admin-gold);background:linear-gradient(145deg,#194b72,#0b2e4f);box-shadow:0 0 0 2px #c9a45c30,0 9px 22px #0004}

/* Nova reserva: contraste semântico entre o painel azul e superfícies claras. */
#reservation-wizard .wizard-dates-page>label{color:#f7fbff!important;-webkit-text-fill-color:#f7fbff!important;text-shadow:0 1px 2px #0008}
#reservation-wizard .wizard-dates-page .standalone{background:#fffaf0!important;color:#0b2e4f!important}
#reservation-wizard .wizard-dates-page .standalone h3{color:#0b2e4f!important;-webkit-text-fill-color:#0b2e4f!important;text-shadow:none}
#reservation-wizard .wizard-dates-page .standalone p{color:#42566a!important;-webkit-text-fill-color:#42566a!important;opacity:1}

/* Pagamento da reserva: contraste próprio para o cartão azul. */
dialog .reservation-payment-panel>div>small{color:#f0c96f!important;-webkit-text-fill-color:#f0c96f!important}
dialog .reservation-payment-panel>div>b{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 2px 4px #0008}
dialog .reservation-payment-panel>div>span{color:#dce7ef!important;-webkit-text-fill-color:#dce7ef!important}
dialog .reservation-payment-panel button:disabled{opacity:1!important;border-color:#637b8e!important;background:#7890a2!important;color:#dce4ea!important;-webkit-text-fill-color:#dce4ea!important;box-shadow:inset 0 1px #ffffff35!important}
dialog .reservation-payment-panel .reservation-payment-summary .reservation-payment-amount{display:block!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:28px!important;font-weight:900!important;opacity:1!important;text-shadow:0 2px 5px #000!important}
dialog .reservation-payment-panel .reservation-payment-summary .reservation-payment-help{display:block!important;color:#eef5fb!important;-webkit-text-fill-color:#eef5fb!important;font-size:14px!important;font-weight:750!important;line-height:1.4!important;opacity:1!important}
dialog .reservation-payment-panel .reservation-payment-message:not(:disabled){border-color:#d7b667!important;background:linear-gradient(145deg,#1d5c8c,#103b60)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:850!important;opacity:1!important}

@media(max-width:760px){
  #content .mobile-card-table tbody{background:transparent}
  #content .mobile-card-table tr{border-color:var(--admin-gold)!important;background:#0b2e4f!important;box-shadow:0 9px 22px #0004!important}
  #content .mobile-card-table td{border-color:#8e733e!important;background:#0b2e4f!important;color:#fff!important}
  #content .mobile-card-table td::before{color:var(--admin-gold-light)!important}
  #content .mobile-card-table td small,#content .mobile-card-table td span:not(.badge){color:#d4dee7!important}
}

/* Investor detail/create inject .form-grid directly into #modal (no #entity-form).
   Constrain modal height and scroll that body like #form-fields. */
#modal[open]:has(>.form-grid),#modal[open]:has(>form.form-grid){max-height:min(92dvh,920px);display:flex;flex-direction:column;overflow:hidden}
#modal>.form-grid,#modal>form.form-grid{flex:1 1 auto;min-height:0;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(max-width:760px){#modal[open]:has(>.form-grid),#modal[open]:has(>form.form-grid){inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));height:auto;max-height:none}#modal[open]>.form-grid,#modal[open]>form.form-grid{height:100%;max-height:none}}


/* task-688: investor detail/create — direct #modal > .form-grid sits on dark navy
   (not cream #form-fields). Light body text; keep white inputs with dark ink. */
#modal>.form-grid,#modal>form.form-grid{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#modal>.form-grid h2,#modal>.form-grid h3,
#modal>form.form-grid h2,#modal>form.form-grid h3{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#modal>.form-grid label,#modal>.form-grid legend,
#modal>.form-grid p,#modal>.form-grid small,
#modal>.form-grid span:not(.badge):not(.status),
#modal>.form-grid b,#modal>.form-grid strong,
#modal>.form-grid article,#modal>.form-grid article b,
#modal>.form-grid article p,#modal>.form-grid article strong,
#modal>.form-grid article small,#modal>.form-grid .summary,
#modal>.form-grid .summary b,#modal>.form-grid .summary p,
#modal>.form-grid .summary strong,#modal>.form-grid .summary small,
#modal>.form-grid section,#modal>.form-grid section p,
#modal>.form-grid section b,#modal>.form-grid section strong,
#modal>.form-grid section small,#modal>.form-grid td,
#modal>.form-grid th,#modal>.form-grid td b,#modal>.form-grid td small,
#modal>form.form-grid label,#modal>form.form-grid legend,
#modal>form.form-grid p,#modal>form.form-grid small,
#modal>form.form-grid span:not(.badge):not(.status),
#modal>form.form-grid b,#modal>form.form-grid strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}
/* Soft gold meta / secondary on navy */
#modal>.form-grid label,#modal>form.form-grid label,
#modal>.form-grid .summary p,#modal>.form-grid article.summary p,
#modal>.form-grid section.summary p,#modal>.form-grid article p,
#modal>.form-grid small,#modal>form.form-grid small{
  color:#f0ce87!important;
  -webkit-text-fill-color:#f0ce87!important;
}
#modal>.form-grid input:not([type=checkbox]):not([type=radio]):not([type=file]),
#modal>.form-grid select,#modal>.form-grid textarea,
#modal>form.form-grid input:not([type=checkbox]):not([type=radio]):not([type=file]),
#modal>form.form-grid select,#modal>form.form-grid textarea{
  background:#fff!important;
  background-image:none!important;
  color:#0b2e4f!important;
  -webkit-text-fill-color:#0b2e4f!important;
  caret-color:#0b2e4f!important;
  color-scheme:light;
  opacity:1!important;
}

/* plataformas / promo-categories contrast */
#content .settings-card .promo-categories label{border:1px solid var(--admin-gold);background:linear-gradient(145deg,#123653,#0b263c)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 8px 20px #0003,inset 0 1px #ffffff10}
dialog .promo-categories label{border:1px solid var(--admin-gold);background:linear-gradient(145deg,#123653,#0b263c)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 8px 20px #0003,inset 0 1px #ffffff10}
dialog .promo-categories legend,#content .settings-card .promo-categories legend{color:#fff!important;-webkit-text-fill-color:#fff!important}
dialog .promo-categories p,#content .settings-card .promo-categories p{color:#d4dee7!important;-webkit-text-fill-color:#d4dee7!important}

/* task-682: entity edit modals — cream #form-fields with dark ink (beat dark-theme !important) */
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields,
#modal #form-fields,
#entity-form #form-fields{
  background:linear-gradient(180deg,#fffdfa,#f7f3ea)!important;
  color:#1a1a1a!important;
  -webkit-text-fill-color:#1a1a1a!important;
}
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,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields b,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields strong,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields h3,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields h4,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields summary,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields td,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields th,
#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,
#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,
#modal #form-fields label,
#modal #form-fields legend,
#modal #form-fields p,
#modal #form-fields small,
#modal #form-fields span,
#modal #form-fields b,
#modal #form-fields strong{
  color:#1a1a1a!important;
  -webkit-text-fill-color:#1a1a1a!important;
  opacity:1!important;
  text-shadow:none!important;
}
#entity-form #form-fields label>small,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields label>small{
  color:#526174!important;
  -webkit-text-fill-color:#526174!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,
#modal #form-fields input:not([type=checkbox]):not([type=radio]):not([type=file]),
#modal #form-fields select,
#modal #form-fields textarea,
#modal .form-grid input:not([type=checkbox]):not([type=radio]):not([type=file]),
#modal .form-grid select,
#modal .form-grid textarea{
  background:#fff!important;
  background-image:none!important;
  color:#0b2e4f!important;
  -webkit-text-fill-color:#0b2e4f!important;
  caret-color:#0b2e4f!important;
  color-scheme:light;
  opacity:1!important;
}
#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;
}
/* Re-assert Plataformas dark cards AFTER light-body ink (do not re-break 679) */
#entity-form #form-fields .promo-categories label,
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields .promo-categories label,
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 legend,
dialog .promo-categories legend{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#entity-form #form-fields .promo-categories p{
  color:#d4dee7!important;
  -webkit-text-fill-color:#d4dee7!important;
}
/* Fleet permanent photos / vitrine navy card — light text (do not inherit cream-form dark 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,
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{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#entity-form #form-fields .fleet-photo-menu small,
#entity-form #form-fields .fleet-photo-menu-summary 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;
}
/* Fleet finance portal light island */
#entity-form #form-fields .vehicle-finance-panel,
#entity-form #form-fields .vehicle-finance-panel label,
#entity-form #form-fields .vehicle-finance-panel legend,
#entity-form #form-fields .vehicle-finance-panel p,
#entity-form #form-fields .vehicle-finance-panel span,
#entity-form #form-fields .vehicle-finance-panel small,
#entity-form #form-fields .vehicle-finance-panel b,
#entity-form #form-fields .vehicle-finance-panel strong,
#entity-form #form-fields .vehicle-finance-panel h3,
#entity-form #form-fields .vehicle-finance-panel summary,
#entity-form #form-fields .vehicle-finance-panel td,
#entity-form #form-fields .vehicle-finance-panel th{
  color:#1a1a1a!important;
  -webkit-text-fill-color:#1a1a1a!important;
}
#entity-form #form-fields .vehicle-finance-panel small,
#entity-form #form-fields .vehicle-finance-head small,
#entity-form #form-fields .vehicle-finance-source,
#entity-form #form-fields .vehicle-finance-period,
#entity-form #form-fields .vehicle-finance-note,
#entity-form #form-fields .vehicle-finance-expense-totals,
#entity-form #form-fields .vehicle-finance-summary span{
  color:#526174!important;
  -webkit-text-fill-color:#526174!important;
}
#entity-form #form-fields .vehicle-finance-head h3,
#entity-form #form-fields .vehicle-finance-summary b,
#entity-form #form-fields .vehicle-finance-block summary{
  color:#0b2e4f!important;
  -webkit-text-fill-color:#0b2e4f!important;
}
#entity-form #form-fields .vehicle-finance-presets button.active{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
/* Keep dark header/footer chrome */
#entity-form>header h2,dialog:not(#reservation-wizard):not(#extension-dialog) form>header h2{color:#fff!important;-webkit-text-fill-color:#fff!important}
#entity-form>header small,dialog:not(#reservation-wizard):not(#extension-dialog) form>header small{color:#f0ce87!important;-webkit-text-fill-color:#f0ce87!important}
#entity-form>header p,dialog:not(#reservation-wizard):not(#extension-dialog) form>header p{color:#d8e1e9!important;-webkit-text-fill-color:#d8e1e9!important}


/* task-680: fleet edit modal — tighten finance portal + footer on narrow */
@media(max-width:760px){
  #entity-form[data-page="fleet"] #form-fields{padding-bottom:12px}
  #entity-form[data-page="fleet"] > footer{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  #entity-form[data-page="fleet"] .vehicle-finance-panel{
    margin-top:8px;margin-bottom:4px;
    height:auto;max-height:none;min-height:min-content;
    overflow:visible;align-self:start;
  }
}
/* Fleet finance portal: never nest-scroll / crush inside #form-fields grid */
#entity-form[data-page="fleet"] #form-fields > .vehicle-finance-panel,
#form-fields.form-grid > .vehicle-finance-panel{
  height:auto !important;
  max-height:none !important;
  min-height:min-content;
  overflow:visible !important;
  align-self:start;
}


/* task-689: investor detail — flatten nested panel chrome + password-link contrast */
/* Cause: openInvestor nested <form class="form-grid"> inside #modal > .form-grid;
   dialog .form-grid rules painted a second navy scroll body (looked like stacked modal). */
#modal > .form-grid .form-grid,
#modal > .form-grid form.form-grid{
  background:transparent!important;
  background-image:none!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  max-height:none!important;
  min-height:0!important;
}
#modal .investor-link-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px;
  width:100%;
  padding:0;
  margin:0;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  max-height:none!important;
  min-height:0!important;
  color:inherit;
}
#modal .investor-link-form > h3,
#modal .investor-link-form .wide{grid-column:1/-1}
@media(max-width:760px){
  #modal .investor-link-form{grid-template-columns:1fr}
  #modal .investor-link-form .wide{grid-column:auto}
}
#modal .investor-access-link,
#modal > .form-grid > button.investor-access-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:50px;
  padding:12px 18px;
  border:1px solid var(--admin-gold)!important;
  border-radius:12px;
  background:linear-gradient(145deg,#174c75,#071827)!important;
  color:#f0ce87!important;
  -webkit-text-fill-color:#f0ce87!important;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 18px #0004,inset 0 1px #ffffff1a;
  text-shadow:none;
}
#modal .investor-access-link:hover{
  border-color:#f0ce87!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}


/* ===== task-690: investor-sheet — single clean modal body (no nested form-grid chrome) =====
   Cause: #modal > .form-grid inherited dialog .form-grid navy scroll body → looked like a
   second stacked screen inside the dialog. Shared template for ALL investors. */
#modal[open]:has(>.investor-sheet){
  max-height:min(92dvh,920px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:0;
  background:#071827!important;
  color:#fff!important;
}
#modal > .investor-sheet{
  flex:1 1 auto;
  min-height:0;
  width:100%;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:22px 22px 26px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#modal > .investor-sheet .modal-close{
  position:sticky;
  top:0;
  align-self:flex-end;
  z-index:2;
  width:42px;height:42px;
  margin:-6px -6px 0 0;
  padding:0;
  border:1px solid #ffffff35;
  border-radius:50%;
  background:#ffffff0d;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
#modal .investor-sheet-head{
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#modal .investor-sheet-head small{
  color:#f0ce87!important;
  -webkit-text-fill-color:#f0ce87!important;
  font-size:10px;
  letter-spacing:.14em;
  font-weight:800;
}
#modal .investor-sheet-head h2{
  margin:0;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:700 28px 'Playfair Display',serif;
}
#modal .investor-email{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:15px;
}
#modal .investor-role,
#modal .investor-empty{
  margin:0;
  color:#f0ce87!important;
  -webkit-text-fill-color:#f0ce87!important;
  line-height:1.45;
}
#modal .investor-section{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#modal .investor-section > h3{
  margin:0;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:700 18px 'Playfair Display',serif;
}
/* Flat link/create forms — NEVER inherit dialog .form-grid panel chrome */
#modal .investor-link-form,
#modal .investor-create-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  width:100%;
  margin:0;
  padding:0;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  max-height:none!important;
  min-height:0!important;
  color:#fff!important;
}
#modal .investor-link-form > h3,
#modal .investor-link-form .wide,
#modal .investor-create-form .wide,
#modal .investor-create-form > .primary.wide,
#modal .investor-link-form > .primary.wide{grid-column:1/-1}
#modal .investor-sheet label,
#modal .investor-create-form label,
#modal .investor-link-form label{
  display:grid;
  gap:7px;
  color:#f0ce87!important;
  -webkit-text-fill-color:#f0ce87!important;
  font-weight:700;
  font-size:12px;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0;
  margin:0;
}
#modal .investor-sheet label.check-row{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:14px;
}
#modal .investor-sheet input:not([type=checkbox]):not([type=radio]):not([type=file]),
#modal .investor-sheet select,
#modal .investor-sheet textarea{
  width:100%;
  box-sizing:border-box;
  min-height:48px;
  padding:12px 14px;
  border:1px solid #c9a45c;
  border-radius:12px;
  background:#fff!important;
  background-image:none!important;
  color:#0b2e4f!important;
  -webkit-text-fill-color:#0b2e4f!important;
  caret-color:#0b2e4f!important;
  color-scheme:light;
  opacity:1!important;
}
#modal .investor-sheet textarea{min-height:96px;resize:vertical}
#modal .investor-access-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:50px;
  padding:12px 18px;
  border:1px solid #c9a45c!important;
  border-radius:12px;
  background:linear-gradient(145deg,#174c75,#071827)!important;
  background-image:linear-gradient(145deg,#174c75,#071827)!important;
  color:#f0ce87!important;
  -webkit-text-fill-color:#f0ce87!important;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 18px #0004,inset 0 1px #ffffff1a;
  text-shadow:none;
}
#modal .investor-access-link:hover{
  border-color:#f0ce87!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#modal .investor-vehicle{
  display:grid;
  gap:6px;
  padding:12px 0;
  border:0;
  border-top:1px solid #ffffff22;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
}
#modal .investor-vehicle:first-of-type{border-top:0;padding-top:0}
#modal .investor-vehicle b,
#modal .investor-vehicle strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#modal .investor-vehicle p{
  margin:0;
  color:#d4dee7!important;
  -webkit-text-fill-color:#d4dee7!important;
}
#modal .investor-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#modal .investor-sheet table{
  width:100%;
  border-collapse:collapse;
  color:#fff!important;
}
#modal .investor-sheet th{
  text-align:left;
  font-size:10px;
  letter-spacing:.08em;
  color:#f0ce87!important;
  -webkit-text-fill-color:#f0ce87!important;
  background:transparent!important;
  border-bottom:1px solid #ffffff22;
  padding:8px 10px;
}
#modal .investor-sheet td{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-top:1px solid #ffffff18;
  padding:10px;
  font-size:12px;
  background:transparent!important;
}
#modal .investor-sheet td small{
  color:#d4dee7!important;
  -webkit-text-fill-color:#d4dee7!important;
}
/* Kill leftover nested form-grid chrome if any old markup appears */
#modal > .investor-sheet .form-grid,
#modal > .investor-sheet form.form-grid,
#modal > .form-grid .form-grid,
#modal > .form-grid form.form-grid{
  background:transparent!important;
  background-image:none!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  max-height:none!important;
  min-height:0!important;
}
/* No double-dialog stacking / nested max-height scrolls inside sheet */
#modal[open]:has(>.investor-sheet)::backdrop{
  background:#061522e8!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
@media(max-width:760px){
  #modal[open]:has(>.investor-sheet){
    inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));
    width:auto;max-width:none;max-height:none;height:auto;margin:0;
  }
  #modal > .investor-sheet{padding:16px 14px 20px;height:100%;max-height:none}
  #modal .investor-link-form,
  #modal .investor-create-form{grid-template-columns:1fr}
  #modal .investor-link-form .wide,
  #modal .investor-create-form .wide{grid-column:auto}
}


/* task-691 investor per-vehicle finance blocks */
.investor-vehicle-head{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.investor-vehicle-head b{color:#f5e6c8;font-size:1.05rem}
.investor-vehicle-head small{color:#c9d6ea;opacity:.9}
.investor-finance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.investor-finance-block{background:rgba(255,255,255,.04);border:1px solid rgba(212,175,55,.28);border-radius:12px;padding:10px 12px}
.investor-finance-block h4{margin:0 0 8px;color:#d4af37;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.investor-finance-block dl{margin:0;display:grid;gap:6px}
.investor-finance-block dl > div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.investor-finance-block dt{color:#c9d6ea;font-size:.82rem}
.investor-finance-block dd{margin:0;color:#fff;font-weight:700;font-variant-numeric:tabular-nums}
.investor-finance-due dt,.investor-finance-due dd{color:#f5e6c8}
