:root {
  --navy: #000000 !important;
  --navy2: #2D2D2D !important;
  --gold: #FBBF24 !important;
  --bg: #F5F5F5 !important;
  --white: #fff !important;
  --text: #111111 !important;
  --muted: #657483 !important;
  --line: #e7e5df !important;
  --red: #ef6b5b !important;
  --blue: #2D2D2D !important;
}

/* Financeiro: valores principais com contraste dourado sobre os cartões. */
.customer-finance-overlay .customer-finance-summary article>b{color:#FCD34D!important;-webkit-text-fill-color:#FCD34D!important;font-size:1.65rem!important;font-weight:900!important;text-shadow:0 2px 4px #0008}

.customer-name-finance{display:grid;gap:.65rem;align-items:start}.customer-name-finance strong{font-size:1.05rem;color:#111111}.customer-finance-button{width:max-content;min-height:42px;padding:.55rem .85rem;border:1px solid #FBBF24;border-radius:12px;background:#2D2D2D;color:#FCD34D;font-weight:800}.customer-finance-modal{width:min(960px,calc(100vw - 1rem));max-width:960px}.customer-finance-shell{padding:0}.customer-finance-shell>.modal-head,.customer-finance-shell>.modal-actions{padding:1rem 1.25rem}.customer-finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:1rem 1.25rem;background:#F5F5F5}.customer-finance-summary article{display:grid;gap:.35rem;padding:1rem;border:1px solid #FBBF24;border-radius:16px;background:#2D2D2D;color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.14)}.customer-finance-summary small{color:#FCD34D;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.customer-finance-summary b{font-size:1.45rem}.customer-finance-summary .received{background:#126f55}.customer-finance-summary .pending{background:#7c2832}.customer-finance-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem .5rem}.customer-finance-list{display:grid;gap:.85rem;padding:.5rem 1.25rem 1rem}.customer-finance-entry{padding:1rem;border:1px solid #cfb46d;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.08)}.customer-finance-entry header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.customer-finance-entry header div{display:grid;gap:.25rem}.customer-finance-entry header small{color:#947526;font-weight:800}.customer-finance-entry header strong{font-size:1.05rem;color:#111111}.customer-finance-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:.85rem 0}.customer-finance-amounts span{display:grid;gap:.15rem;padding:.65rem;border-radius:10px;background:#f5f3ee;color:#536271}.customer-finance-amounts b{font-size:1rem;color:#111111}.customer-finance-shell details{margin:.75rem 1.25rem;padding:.8rem;border:1px solid #d9c58f;border-radius:14px;background:#fff}.customer-finance-shell summary{cursor:pointer;font-weight:900;color:#2D2D2D}.customer-finance-shell .table-wrap{margin-top:.75rem;overflow:auto}.empty-state{padding:1rem;color:#677482;background:#f5f3ee;border-radius:12px}
.customer-finance-modal[open]{box-sizing:border-box;max-height:calc(100dvh - 16px);overflow:hidden;overscroll-behavior:contain}.customer-finance-modal .customer-finance-shell{box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:min(900px,calc(100dvh - 16px));max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.customer-finance-modal .modal-head{position:sticky;top:0;z-index:5}.customer-finance-modal .modal-actions{position:sticky;bottom:0;z-index:5}
@media(max-width:760px){.customer-finance-modal[open]{position:fixed!important;inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;max-height:none!important;margin:0!important}.customer-finance-modal .customer-finance-shell{height:100%;max-height:none}}
.customer-finance-overlay{position:fixed;z-index:2147483000;inset:0;box-sizing:border-box;display:grid;place-items:center;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));background:#000000c7;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);overscroll-behavior:contain;touch-action:none}.customer-finance-overlay>.customer-finance-shell{box-sizing:border-box;width:min(960px,100%);height:min(900px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;border:2px solid #FBBF24;border-radius:22px;background:linear-gradient(180deg,#fffdfa,#F5F5F5);box-shadow:0 25px 80px #0008}.customer-finance-overlay .modal-head{display:flex;position:sticky;z-index:6;top:0;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid #FBBF24;background:linear-gradient(135deg,#2D2D2D,#000000);color:#fff}.customer-finance-overlay .modal-head h2{margin:4px 0;color:#fff;font:700 24px 'Montserrat',serif}.customer-finance-overlay .modal-head small{color:#FCD34D;font-weight:800;letter-spacing:.13em}.customer-finance-overlay .modal-head p{margin:6px 0 0;color:#d8e1e9}.customer-finance-overlay .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}.customer-finance-overlay .modal-actions{display:flex;position:sticky;z-index:6;bottom:0;justify-content:flex-end;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #FBBF24;background:linear-gradient(180deg,#0b2439,#000000)}.customer-finance-overlay .modal-actions button{min-width:150px;min-height:50px;border:1px solid #9c7d39;border-radius:12px;background:linear-gradient(145deg,#29445b,#122b40);color:#fff;font-weight:800}.customer-finance-overlay .primary{border:1px solid #FBBF24!important;background:linear-gradient(145deg,#2D2D2D,#000000)!important;color:#FCD34D!important}.customer-finance-overlay h3,.customer-finance-overlay b,.customer-finance-overlay strong{color:#111111}.customer-finance-overlay p,.customer-finance-overlay span,.customer-finance-overlay small{opacity:1}
.finance-main-toolbar{align-items:center}.finance-main-toolbar .listing-search-box{flex:1}.finance-reservation-groups{display:grid;gap:16px;padding-top:8px}.finance-reservation-group{overflow:hidden;border:1px solid #FBBF24;border-radius:16px;background:#fffdfa;box-shadow:0 8px 22px #2D2D2D12}.finance-reservation-group>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border-bottom:1px solid #d9c38f;background:linear-gradient(135deg,#f8f1df,#fffdfa)}.finance-reservation-group>header small{display:block;color:#775b20;font-weight:900;letter-spacing:.12em}.finance-reservation-group>header h4{margin:2px 0;color:#2D2D2D;font-size:19px}.finance-reservation-group>header span{color:#334b60}.finance-reservation-totals{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.finance-reservation-totals span{display:grid;gap:2px;min-width:105px;padding:8px 10px;border:1px solid #d9c38f;border-radius:10px;background:#fff;color:#536474;font-size:12px}.finance-reservation-totals b{color:#2D2D2D;font-size:15px}.finance-reservation-group .table-wrap{margin:0;border:0;border-radius:0;box-shadow:none}.manual-reservation-receipt-shell .form-grid{padding:20px}.manual-reservation-receipt-shell .confirm-box{border:1px solid #FBBF24;border-radius:12px;background:#fff8e8;padding:14px}.manual-reservation-receipt-shell .confirm-box input{width:auto}
@media(max-width:760px){.customer-finance-overlay{place-items:stretch}.customer-finance-overlay>.customer-finance-shell{width:100%;height:100%;max-height:none;border-radius:20px}.customer-finance-overlay .modal-head{padding:16px 17px}.customer-finance-overlay .modal-actions{display:grid;padding:11px 13px calc(11px + env(safe-area-inset-bottom))}.customer-finance-overlay .modal-actions button{width:100%;min-width:0;min-height:54px}.finance-main-toolbar{align-items:stretch}.finance-main-toolbar .primary{width:100%}.finance-reservation-group>header{align-items:flex-start;flex-direction:column}.finance-reservation-totals{width:100%;justify-content:stretch}.finance-reservation-totals span{flex:1;min-width:88px}.manual-reservation-receipt-shell .form-grid{padding:16px}}
@media(max-width:760px){#content .finance-reservation-group .mobile-card-table td small,#content .finance-reservation-group .mobile-card-table td span:not(.badge):not(.status){color:#526272!important}}
.customer-charge-overlay{position:fixed;z-index:2147483100;inset:0;box-sizing:border-box;display:grid;place-items:center;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));background:#03111de0;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);overscroll-behavior:contain;touch-action:none}.customer-charge-overlay>.entity-form{box-sizing:border-box;display:flex;flex-direction:column;width:min(650px,100%);max-height:min(780px,100%);overflow:hidden;border:2px solid #FBBF24;border-radius:22px;background:linear-gradient(180deg,#fffdfa,#F5F5F5);box-shadow:0 28px 90px #000b;touch-action:pan-y}.customer-charge-overlay .modal-head{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #FBBF24;background:linear-gradient(135deg,#2D2D2D,#000000);color:#fff}.customer-charge-overlay .modal-head small{color:#FCD34D;font-weight:800;letter-spacing:.13em}.customer-charge-overlay .modal-head h2{margin:4px 0;color:#fff;font:700 25px 'Montserrat',serif}.customer-charge-overlay .modal-head p{margin:6px 0 0;color:#d8e1e9;line-height:1.4}.customer-charge-overlay .modal-head>button{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;padding:0;border:1px solid #ffffff35;border-radius:50%;background:#ffffff0d;color:#fff;font-size:27px}.customer-charge-overlay .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;overflow-y:auto;padding:20px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.customer-charge-overlay .form-grid .wide{grid-column:1/-1}.customer-charge-overlay label{display:grid;gap:8px;color:#111111;font-weight:800}.customer-charge-overlay input,.customer-charge-overlay select,.customer-charge-overlay textarea{box-sizing:border-box;width:100%;min-height:54px;padding:13px 14px;border:1px solid #FBBF24;border-radius:12px;background:#fff;color:#111111;font:700 17px inherit;-webkit-text-fill-color:#111111}.customer-charge-overlay textarea{min-height:112px;resize:vertical}.customer-charge-overlay .modal-actions{display:grid;grid-template-columns:1fr 1.2fr;flex:0 0 auto;gap:12px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #FBBF24;background:#fffdfa}.customer-charge-overlay .modal-actions button{min-height:54px;border:1px solid #FBBF24;border-radius:12px;background:#fffdfa;color:#111111;font-size:17px;font-weight:900}.customer-charge-overlay .modal-actions .primary{background:linear-gradient(145deg,#2D2D2D,#000000)!important;color:#FCD34D!important;box-shadow:0 8px 18px #00000035}@media(max-width:760px){.customer-charge-overlay{place-items:stretch;padding:max(7px,env(safe-area-inset-top)) 7px max(7px,env(safe-area-inset-bottom))}.customer-charge-overlay>.entity-form{width:100%;height:100%;max-height:none;border-radius:20px}.customer-charge-overlay .modal-head{padding:15px 16px}.customer-charge-overlay .form-grid{grid-template-columns:1fr;padding:16px;gap:14px}.customer-charge-overlay .form-grid .wide{grid-column:auto}.customer-charge-overlay .modal-actions{padding:11px 12px calc(11px + env(safe-area-inset-bottom))}}
@media(max-width:640px){.customer-finance-summary,.customer-finance-amounts{grid-template-columns:1fr}.customer-finance-toolbar{align-items:stretch;flex-direction:column}.customer-finance-toolbar button{width:100%}.customer-finance-entry header{flex-direction:column}.customer-finance-entry .row-actions{display:grid;grid-template-columns:1fr}.customer-finance-entry .row-actions button{width:100%}}

meta[name="theme-color"] { color: #000000; }

/* Mantém avisos acima da camada nativa do formulário aberto. */
#toast { z-index: 2147483647 !important; pointer-events: none; }
dialog[open] > #toast { position: fixed; top: max(16px, calc(env(safe-area-inset-top) + 12px)); right: 16px; left: auto; width: min(440px, calc(100vw - 32px)); text-align: center; box-shadow: 0 12px 34px #00000066; }
@media (max-width: 760px) { dialog[open] > #toast { right: 12px; left: 12px; width: auto; } }

.book-language-gate {
  background: radial-gradient(circle at 85% 18%, #FBBF2425 0 12%, transparent 12.3%), linear-gradient(145deg, #F5F5F5, #e9edf0) !important;
}

.language-gate-options button,
.wizard-language-first label {
  border-color: #244660 !important;
  background: linear-gradient(135deg, #2D2D2D, #000000) !important;
}

.language-gate-options button small { color: #FBBF24 !important; }

.language-gate-card > img,
.email-brand img,
.contract-header img {
  content: url("/brand/logo-dark.png");
}

/* Dashboard no mesmo padrão dos cartões oficiais SmartGo. */
.dashboard-metrics .metric-card {
  border: 2px solid #FBBF24;
  background: linear-gradient(145deg, #2D2D2D, #000000);
  color: #fff;
  box-shadow: 0 9px 24px #00000024;
}
.dashboard-metrics .metric-card:hover,
.dashboard-metrics .metric-card:focus-visible { border-color: #FBBF24; box-shadow: 0 12px 28px #00000035; }
.dashboard-metrics .metric-card i,
.dashboard-metrics .metric-card i.blue,
.dashboard-metrics .metric-card i.gold,
.dashboard-metrics .metric-card i.green,
.dashboard-metrics .metric-card i.red { border: 1px solid #FBBF24; background: #000000; color: #FBBF24; }
.dashboard-metrics .metric-card small { color: #FBBF24; }
.dashboard-metrics .metric-card strong,
.dashboard-metrics .metric-card strong b { color: #fff; }
.dashboard-metrics .metric-card span { color: #d7dee8; }
.metrics:not(.dashboard-metrics) article strong,
.metrics:not(.dashboard-metrics) article strong b { color: #111111; -webkit-text-fill-color: #111111; }
.dashboard-metrics .financial-pending-card { border-color: #ef6b5b; background: linear-gradient(145deg, #762d35, #3f1720); }
.long-term-financial-panel { border: 2px solid #c84d55 !important; box-shadow: 0 12px 30px #762d3530 !important; }
.long-term-financial-panel .panel-head { border-bottom-color: #c84d55 !important; background: linear-gradient(135deg, #762d35, #3f1720) !important; }
.long-term-financial-badge { display:inline-flex; width:max-content; margin-bottom:5px; padding:6px 10px; border:1px solid #f08b93; border-radius:999px; background:#c84d55; color:#fff; font-size:11px; font-weight:900; text-transform:uppercase; }
.long-term-customer-name,
.long-term-vehicle-plate { display:block; margin-top:8px; font-size:18px; line-height:1.25; font-weight:900; color:inherit; }
.long-term-financial-panel .long-term-due-date,
.long-term-financial-panel .long-term-cycle-note { display:block; margin-top:10px; color:#24384b!important; -webkit-text-fill-color:#24384b; font-size:16px; line-height:1.38; font-weight:750; opacity:1!important; }
.long-term-financial-panel .long-term-due-date { font-size:17px; font-weight:850; }

.dashboard-metrics + .panel { border: 2px solid #FBBF24; background: #000000; box-shadow: 0 14px 34px #0000002b; }
.dashboard-metrics + .panel .panel-head { border-bottom: 1px solid #FBBF24; background: #000000; color: #fff; }
.dashboard-metrics + .panel .panel-head small,
.dashboard-metrics + .panel .link { color: #FBBF24; }
.dashboard-metrics + .panel .panel-head h3 { color: #fff; }
.dashboard-metrics + .panel table { background: #000000; }
.dashboard-metrics + .panel th { border-bottom: 1px solid #FBBF24; background: #2D2D2D; color: #FBBF24; }
.dashboard-metrics + .panel td { border-color: #FBBF24; background: #2D2D2D; color: #fff; }
.dashboard-metrics + .panel td::before { color: #FBBF24 !important; }
.dashboard-metrics + .panel td small,
.dashboard-metrics + .panel td span { color: #d7dee8; }
.dashboard-metrics + .panel td a { color: #FBBF24; }
.dashboard-metrics + .panel .badge.confirmed {
  border: 1px solid #63c8a8;
  background: #118565;
  color: #fff !important;
  font-weight: 900;
  box-shadow: 0 4px 12px #00000035;
}
.dashboard-agenda-kind { display: inline-flex; width: max-content; margin-bottom: 5px; padding: 5px 9px; border-radius: 999px; color: #fff; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .3px; }
.dashboard-agenda-kind.pickup { border: 1px solid #63c8a8; background: #118565; }
.dashboard-agenda-kind.dropoff { border: 1px solid #f08b93; background: #c84d55; }

@media (max-width: 760px) {
  .dashboard-metrics .metric-card { border-radius: 16px; }
  .dashboard-metrics + .panel { border-radius: 18px; }
  .dashboard-metrics + .panel .mobile-card-table tbody { display: grid; gap: 12px; padding: 12px; }
  .dashboard-metrics + .panel .mobile-card-table tr { overflow: hidden; border: 1px solid #FBBF24 !important; border-radius: 15px; background: #2D2D2D; box-shadow: 0 7px 18px #0003; }
  .dashboard-metrics + .panel .mobile-card-table td { border-color: #FBBF24 !important; background: #2D2D2D !important; color: #fff !important; }
}

/* Ações da agenda sem botões brancos residuais. */
.dashboard-reservation-actions .secondary {
  border: 1px solid #FBBF24 !important;
  background: #2D2D2D !important;
  color: #fff !important;
}
.dashboard-reservation-actions .extension-button,
.checklist-row-actions .extension-button,
.row-actions .extension-button {
  border: 1px solid #e2c77f !important;
  background: #FBBF24 !important;
  color: #000000 !important;
  box-shadow: 0 4px 12px #0002;
}
.dashboard-agenda .badge.checked_out,
.operations-checklist-panel .badge.checked_out {
  border: 1px solid #7fa9dd;
  background: #315c91;
  color: #fff !important;
  font-weight: 900;
}
.dashboard-reservation-actions .secondary:hover,
.dashboard-reservation-actions .secondary:focus-visible { background: #16446d !important; }
.dashboard-reservation-actions .extension-button:hover,
.dashboard-reservation-actions .extension-button:focus-visible { background: #FBBF24 !important; }

/* Cores operacionais consistentes na agenda e na lista de reservas. */
.dashboard-reservation-actions .check-in-action,
.row-actions .check-in-action { background:#118565 !important; border-color:#118565 !important; color:#fff !important; }
.dashboard-reservation-actions .check-in-action:hover,
.dashboard-reservation-actions .check-in-action:focus-visible,
.row-actions .check-in-action:hover,
.row-actions .check-in-action:focus-visible { background:#0b6f53 !important; border-color:#0b6f53 !important; }
.dashboard-reservation-actions .check-out-action,
.row-actions .check-out-action { background:#c84d55 !important; border-color:#c84d55 !important; color:#fff !important; }
.dashboard-reservation-actions .check-out-action:hover,
.dashboard-reservation-actions .check-out-action:focus-visible,
.row-actions .check-out-action:hover,
.row-actions .check-out-action:focus-visible { background:#aa3841 !important; border-color:#aa3841 !important; }
/* Qualquer retorno/devolução deve se distinguir visualmente: vermelho e texto branco. */
button.check-out-action,
.dashboard-agenda .check-out-action,
.reservation-highlight-actions .check-out-action,
.checklist-row-actions .check-out-action {
  background:#c84d55 !important;
  border-color:#c84d55 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:none !important;
}
button.check-out-action:hover,
button.check-out-action:focus-visible {
  background:#aa3841 !important;
  border-color:#aa3841 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.dashboard-reservation-actions .message-action,
.row-actions .message-action,
.checklist-row-actions .message-action {
  background:#16446d !important;
  border-color:#2c6595 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.dashboard-reservation-actions .message-action:hover,
.dashboard-reservation-actions .message-action:focus-visible,
.row-actions .message-action:hover,
.row-actions .message-action:focus-visible,
.checklist-row-actions .message-action:hover,
.checklist-row-actions .message-action:focus-visible { background:#0f3558 !important; border-color:#3a78aa !important; }

.checklist-row-actions .message-action {
  border:1px solid #2c6595!important;
  background:#16446d!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Calendário operacional no padrão oficial SmartGo. */
.calendar-toolbar {
  padding: 13px;
  border: 2px solid #FBBF24;
  border-radius: 15px;
  background: #000000;
  color: #fff;
  box-shadow: 0 10px 26px #00000024;
}
.calendar-view-tabs { border: 1px solid #FBBF24; background: #2D2D2D; }
.calendar-view-tabs button,
.calendar-period button { color: #fff; }
.calendar-view-tabs button.active,
.calendar-toolbar .calendar-period button:hover,
.calendar-toolbar .calendar-period button:focus-visible {
  background: #FBBF24;
  color: #000000;
  box-shadow: none;
}
.calendar-period strong { color: #fff; }
#content .planner-panel { border: 2px solid #FBBF24; background: #000000; }
.planner-scroll { background: #000000; }
.planner-inner { background: #000000; }
.planner-head { border-bottom-color: #FBBF24; background: #000000; }
.planner-head > div { border-left-color: #FBBF24; background: #000000; color: #FBBF24; }
.planner-head > div:first-child { color: #fff; }
.planner-head b { color: #fff; }
.planner-head .today { background: #FBBF24; color: #000000; }
.planner-head .today b,
.planner-head .today small { color: #000000; }
.planner-row { border-bottom-color: #FBBF24; background: #2D2D2D; }
.planner-vehicle { border-right-color: #FBBF24; background: #000000; color: #fff; }
.planner-vehicle strong { color: #fff; }
.planner-vehicle small { color: #FBBF24; }
.planner-days { background: #2D2D2D; }
.planner-days > span { border-right-color: #FBBF2444; }
.planner-days > span.today { background: #FBBF2426; }
.calendar-booking { border: 1px solid #FBBF24; box-shadow: 0 4px 11px #0003; }
.calendar-booking.confirmed { border-color: #63c8a8; background: #118565; color: #fff; }
.calendar-booking.checked_out { border-color: #7fa9dd; background: #315c91; color: #fff; }
.calendar-booking.pending,
.calendar-booking.quote { border-color: #e3bd6f; background: #9a6a15; color: #fff; }
.calendar-booking.cancelled { border-color: #f08b93; background: #c84d55; color: #fff; }
.calendar-booking b,
.calendar-booking small { color: inherit; }
@media(max-width:760px){.calendar-toolbar{padding:11px;border-radius:14px}.calendar-view-tabs{width:100%}.calendar-period button{min-width:42px;min-height:42px;border:1px solid #FBBF24}.planner-scroll{border-radius:0 0 15px 15px}}

/* Identidade oficial aplicada de forma consistente em todos os módulos. */
#content .panel,
#content .settings-card,
#content .planner-panel,
#content .email-reader,
#content .calendar-day {
  border: 2px solid #FBBF24;
  background: #000000;
  color: #fff;
  box-shadow: 0 12px 30px #00000024;
}
#content .panel-head,
#content .settings-card > footer,
#content .email-reader > header,
#content .email-reader > footer {
  border-color: #FBBF24;
  background: #000000;
  color: #fff;
}
#content .panel h1,
#content .panel h2,
#content .panel h3,
#content .panel h4,
#content .settings-card h1,
#content .settings-card h2,
#content .settings-card h3,
#content .calendar-day h3,
#content .email-reader h2 { color: #fff; }
#content .panel-head small,
#content .panel-head > span,
#content .panel-head p,
#content .panel .link,
#content .settings-card small,
#content .calendar-day small,
#content .email-reader > header small { color: #FBBF24; }
#content .panel table,
#content .settings-card table { background: #000000; }
#content .panel th,
#content .settings-card th {
  border-color: #FBBF24;
  background: #000000;
  color: #FBBF24;
}
#content .panel td,
#content .settings-card td {
  border-color: #FBBF24;
  background: #2D2D2D;
  color: #fff;
}
#content .panel td::before,
#content .settings-card td::before { color: #FBBF24 !important; }
#content .panel td small,
#content .panel td span:not(.badge):not(.status),
#content .settings-card td small { color: #d7dee8; }
#content .panel td a:not(.primary):not(.button),
#content .settings-card td a:not(.primary):not(.button) { color: #FBBF24; }
#content .panel label,
#content .settings-card label,
#content .email-reader label { color: #fff; }
#content .panel input:not([type="checkbox"]):not([type="radio"]),
#content .panel select,
#content .panel textarea,
#content .settings-card input:not([type="checkbox"]):not([type="radio"]),
#content .settings-card select,
#content .settings-card textarea {
  border-color: #FBBF24;
  background: #fff;
  color: #111111;
}
#content .panel input::placeholder,
#content .panel textarea::placeholder,
#content .settings-card input::placeholder,
#content .settings-card textarea::placeholder { color: #7b8796; }
#content .calendar-day article { border-color: #FBBF24; }
#content .calendar-day article strong,
#content .calendar-day article b { color: #fff; }
#content .calendar-day article span { color: #d7dee8; }
#content .empty.standalone,
#content .empty { border-color: #FBBF24; background: #000000; color: #d7dee8; }
dialog:not(#reservation-wizard):not(#extension-dialog) { border: 1px solid #FBBF24; }
dialog:not(#reservation-wizard):not(#extension-dialog) form > header {
  border-bottom-color: #FBBF24;
  background: linear-gradient(135deg,#2D2D2D,#000000);
  color: #fff;
}
dialog:not(#reservation-wizard):not(#extension-dialog) form > header small { color: #FBBF24; }
dialog:not(#reservation-wizard):not(#extension-dialog) form > header h2 { color: #fff; }
@media(max-width:760px){
  #content .panel,
  #content .settings-card,
  #content .planner-panel,
  #content .email-reader,
  #content .calendar-day { border-radius: 17px; }
  #content .mobile-card-table tbody { display:grid; gap:12px; padding:12px; }
  #content .mobile-card-table tr { overflow:hidden; border:1px solid #FBBF24!important; border-radius:15px; background:#2D2D2D; box-shadow:0 7px 18px #0003; }
  #content .mobile-card-table td { border-color:#FBBF24!important; background:#2D2D2D!important; color:#fff!important; }
}

/* Dashboard operacional: álbuns de pré-check-in em cartões compactos. */
.precheck-review-panel{overflow:hidden!important;background:linear-gradient(145deg,#0a2945,#071b2d)!important}
.precheck-review-panel .panel-head{align-items:center;padding:18px 20px!important;border-bottom:1px solid #c7a55780}
.precheck-review-panel .panel-head h3{color:#fff!important;-webkit-text-fill-color:#fff!important}
.precheck-review-panel .panel-head p{margin-top:4px;color:#bdcad6!important;-webkit-text-fill-color:#bdcad6!important}
.precheck-review-panel .count{white-space:nowrap;border:1px solid #d5b45f;background:#d5b45f18;color:#f3d684!important;-webkit-text-fill-color:#f3d684!important}
.precheck-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}
.precheck-review-card{min-width:0;padding:15px;border:1px solid #527896;border-radius:15px;background:linear-gradient(145deg,#123d60,#0a2945);box-shadow:inset 0 1px #ffffff18,0 7px 15px #0003}
.precheck-review-card.needs-plate{border-color:#d5b45f}
.precheck-review-top{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center}
.precheck-review-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d5b45f;border-radius:11px;background:#d5b45f1f;color:#f3d684;font-size:20px;font-weight:900}
.precheck-review-top div{display:grid;min-width:0;gap:2px}.precheck-review-top small{color:#f3d684!important;-webkit-text-fill-color:#f3d684!important;font-size:10px;font-weight:850;letter-spacing:1px;text-transform:uppercase}.precheck-review-top strong{overflow-wrap:anywhere;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:16px}.precheck-review-top b{color:#a9c1d3!important;-webkit-text-fill-color:#a9c1d3!important;font-size:12px}
.precheck-photo-count{white-space:nowrap;padding:6px 9px;border-radius:999px;background:#e9f2f8;color:#2D2D2D!important;-webkit-text-fill-color:#2D2D2D!important;font-size:11px;font-weight:900}
.precheck-review-issue{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:#fff6de;color:#6d4b08!important;-webkit-text-fill-color:#6d4b08!important;font-size:13px;font-weight:850;line-height:1.35}
.precheck-review-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:11px}.precheck-review-meta span{display:grid;gap:2px;color:#e3edf4;font-size:12px;overflow-wrap:anywhere}.precheck-review-meta b{color:#8facbf!important;-webkit-text-fill-color:#8facbf!important;font-size:9px;letter-spacing:.8px;text-transform:uppercase}
.precheck-review-caption{margin:10px 0 0;padding-top:10px;border-top:1px solid #ffffff1f;color:#c8d5df!important;-webkit-text-fill-color:#c8d5df!important;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
@media(max-width:760px){.precheck-review-panel .panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:15px!important}.precheck-review-panel .panel-head p{font-size:12px}.precheck-review-grid{grid-template-columns:1fr;gap:10px;padding:10px}.precheck-review-card{padding:13px}.precheck-review-top{grid-template-columns:34px minmax(0,1fr) auto;gap:9px}.precheck-review-icon{width:34px;height:34px}.precheck-review-meta{grid-template-columns:1fr 1fr}}

/* Manutenção no calendário: campos claros precisam conservar texto escuro. */
#entity-form[data-page="calendar_maintenance"] #form-fields textarea,
#entity-form[data-page="calendar_maintenance"] #form-fields input:not([type="checkbox"]):not([type="radio"]),
#entity-form[data-page="calendar_maintenance"] #form-fields select {
  background:#fff!important;
  color:#111111!important;
  -webkit-text-fill-color:#111111!important;
  caret-color:#111111!important;
  opacity:1!important;
}
#entity-form[data-page="calendar_maintenance"] #form-fields textarea::placeholder,
#entity-form[data-page="calendar_maintenance"] #form-fields input::placeholder {
  color:#73808f!important;
  -webkit-text-fill-color:#73808f!important;
  opacity:1!important;
}
#entity-form[data-page="calendar_maintenance"] .calendar-maintenance-summary b {
  color:#111111!important;
  -webkit-text-fill-color:#111111!important;
}

/* Safari/iPhone renderiza estes selects com fundo nativo branco. */
#entity-form[data-page="vehicle-pending-item"] #form-fields select {
  background:#fff!important;
  background-color:#fff!important;
  color:#111111!important;
  -webkit-text-fill-color:#111111!important;
  opacity:1!important;
}
#entity-form[data-page="vehicle-pending-item"] #form-fields select option {
  background:#fff!important;
  color:#111111!important;
  -webkit-text-fill-color:#111111!important;
}

/* Campos brancos usam sempre fonte azul-escura, inclusive no Safari/iPhone. */
dialog select,
#content .panel select,
#content .settings-card select,
.checklist-vehicle-change select {
  background:#fff!important;
  background-color:#fff!important;
  color:#2D2D2D!important;
  -webkit-text-fill-color:#2D2D2D!important;
  color-scheme:light;
  opacity:1!important;
}
select option,select optgroup {
  background:#fff!important;
  color:#2D2D2D!important;
  -webkit-text-fill-color:#2D2D2D!important;
}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,
textarea:-webkit-autofill,select:-webkit-autofill {
  -webkit-text-fill-color:#2D2D2D!important;
  caret-color:#2D2D2D!important;
}

/* Cabeçalho móvel compacto: uma única faixa para navegação e alertas. */
@media(max-width:900px){
  main>header{
    position:sticky;
    top:0;
    z-index:4;
    height:calc(68px + env(safe-area-inset-top))!important;
    min-height:calc(68px + env(safe-area-inset-top));
    padding-top:env(safe-area-inset-top)!important;
    padding-bottom:0!important;
    display:grid!important;
    grid-template-columns:42px minmax(86px,1fr) auto!important;
    grid-template-rows:68px!important;
    column-gap:10px!important;
    overflow:visible!important;
    border-bottom:1px solid #9d7a39!important;
    background:linear-gradient(135deg,#fff,#f8f3e8)!important;
    box-shadow:0 8px 22px #0000001c;
  }
  #menu{
    grid-column:1!important;
    grid-row:1!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    margin:0!important;
    align-self:center!important;
    border:1px solid #FBBF24!important;
    border-radius:12px!important;
    background:linear-gradient(145deg,#174b74,#0b2b48)!important;
    color:#f4cf7f!important;
    box-shadow:inset 0 1px #ffffff20,0 4px 0 #000000,0 7px 14px #0003!important;
  }
  main>header>div:not(.header-actions){grid-column:2!important;grid-row:1!important;align-self:center!important;min-width:0}
  main>header h1{display:block!important;margin:2px 0 0!important;font-size:16px!important;line-height:1.05!important;color:#2D2D2D!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  main>header .breadcrumb{font-size:7px!important;line-height:1.2;letter-spacing:1px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .header-actions{grid-column:3!important;grid-row:1!important;align-self:center!important;width:auto!important;min-width:0!important;margin:0!important;display:flex!important;justify-content:flex-end!important;gap:6px!important}
  .header-actions .mail-alert,.header-actions .push-enable{position:relative;width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;display:grid!important;place-items:center!important;border:1px solid #FBBF24!important;border-radius:12px!important;background:linear-gradient(145deg,#174b74,#0b2b48)!important;color:#f4cf7f!important;box-shadow:inset 0 1px #ffffff20,0 3px 0 #000000,0 6px 12px #0003!important}
  .header-actions .mail-alert.hidden,.header-actions .push-enable.hidden{display:none!important}
  .header-actions .mail-alert span{display:none!important}
  .header-actions .mail-alert strong{position:absolute;transform:translate(12px,-12px);min-width:17px;height:17px;font-size:9px;border:1px solid #fff}
  .header-actions .migration-mode{position:relative;width:46px!important;max-width:46px!important;min-width:46px;height:38px;margin:0!important;padding:0!important;display:grid;place-items:center;border:1px solid #FBBF24!important;border-radius:12px!important;background:#fff4dd!important;color:transparent!important;font-size:0!important;box-shadow:0 3px 8px #00000018}
  .header-actions .migration-mode::after{content:"HQ";color:#8a641e;font-size:10px;font-weight:900;letter-spacing:1px}
}
@media(max-width:390px){
  main>header{grid-template-columns:40px minmax(70px,1fr) auto!important;column-gap:7px!important}
  .header-actions{gap:4px!important}
  .header-actions .mail-alert,.header-actions .push-enable{width:35px!important;min-width:35px!important;height:35px!important}
  .header-actions .migration-mode{width:40px!important;min-width:40px!important;max-width:40px!important;height:35px}
}
.checklist-upload-note{position:sticky;top:0;z-index:2;margin:8px 0 12px;padding:11px 13px;border:1px solid #FBBF24;border-radius:10px;background:#fff8e8;color:#725521;font-weight:750;line-height:1.4}
.background-image-upload{position:fixed;right:18px;bottom:18px;z-index:10000;display:grid;gap:8px;width:min(420px,calc(100vw - 28px));padding:17px 18px;border:2px solid #FBBF24;border-radius:16px;background:#071f36;color:#fff;box-shadow:0 18px 55px #00000066}.background-image-upload>button{position:absolute;right:9px;top:7px;border:0;background:transparent;color:#fff;font-size:24px;line-height:1;cursor:pointer}.background-image-upload small{padding-right:25px;color:#d9b969;font-weight:900;letter-spacing:.09em}.background-image-upload strong{font-size:17px}.background-image-upload>div{height:10px;overflow:hidden;border-radius:999px;background:#ffffff25}.background-image-upload>div i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#FBBF24,#f0d185);transition:width .25s}.background-image-upload span{color:#dce5ed;font-size:12px;line-height:1.4}.background-image-upload.complete{border-color:#45a77c}.background-image-upload.complete>div i{background:#45a77c}.background-image-upload.failed{border-color:#d4646e}.background-image-upload.failed>div i{background:#d4646e}
@media(max-width:600px){.background-image-upload{left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));width:auto}}

/* Tela operacional de retirada/devolução no padrão atual SmartGo. */
.operations-checklist-panel { overflow: hidden; border: 2px solid #FBBF24; background: #000000; box-shadow: 0 14px 34px #0000002b; }
.operations-checklist-panel .panel-head { border-bottom: 1px solid #FBBF24; background: #000000; }
.operations-checklist-panel .panel-head h3 { color: #fff; }
.operations-checklist-panel table { background: #000000; }
.operations-checklist-panel th { border-color: #FBBF24; background: #000000; color: #FBBF24; }
.operations-checklist-panel td { border-color: #FBBF24; background: #2D2D2D; color: #fff; }
.operations-checklist-panel td::before { color: #FBBF24 !important; }
.operations-checklist-panel td small { color: #d7dee8; }
.operations-checklist-panel .badge.confirmed { background: #118565; color: #fff; }
.operations-checklist-panel .badge.checked_out { background: #315c91; color: #fff; }
@media(max-width:760px){.operations-checklist-panel{border-radius:18px}.operations-checklist-panel .mobile-card-table tbody{display:grid;gap:12px;padding:12px}.operations-checklist-panel .mobile-card-table tr{overflow:hidden;border:1px solid #FBBF24!important;border-radius:15px;background:#2D2D2D;box-shadow:0 7px 18px #0003}.operations-checklist-panel .mobile-card-table td{border-color:#FBBF24!important;background:#2D2D2D!important;color:#fff!important}.operations-checklist-panel .checklist-row-actions{display:grid;grid-template-columns:1fr;width:100%}.operations-checklist-panel .checklist-action-button,.operations-checklist-panel .extension-button{width:100%;min-height:52px;margin:0}}

.extension-button { border: 1px solid #FBBF24 !important; background: #fff7e5 !important; color: #765313 !important; font-weight: 900 !important; }
#extension-dialog { width: min(620px, calc(100vw - 18px)); border: 1px solid #FBBF24; background: #fff; }
#extension-form > header { border-bottom: 1px solid #FBBF24; background: linear-gradient(135deg,#2D2D2D,#000000); color: #fff; }
#extension-form > header small { color: #FBBF24; }
#extension-form > header h2 { color: #fff; }
.extension-body { display: grid; gap: 16px; padding: 20px; }
.extension-body > label { display: grid; gap: 7px; color: #111111; font-weight: 800; }
.extension-body input:not([type="checkbox"]) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 50px; padding: 12px 14px; border: 1px solid #FBBF24; border-radius: 11px; background: #fff; color: #111111; font-size: 16px; }
.extension-body label small { color: #657483; font-weight: 600; }
.extension-summary { padding: 15px; border: 1px solid #FCD34D; border-radius: 13px; background: #FFFDF2; }
.extension-summary small { color: #9b762f; font-weight: 900; letter-spacing: .8px; }
.extension-summary h3,.extension-summary p { margin: 5px 0 0; }
.extension-calculation { display: flex; justify-content: space-between; gap: 12px; padding: 14px; border-radius: 11px; background: #000000; color: #fff; }
.extension-calculation b { color: #FBBF24; }
.extension-notify { grid-template-columns: 25px minmax(0,1fr) !important; align-items: start; padding: 14px; border: 1px solid #FCD34D; border-radius: 12px; background: #FFFDF2; }
.extension-notify input { width: 22px; height: 22px; accent-color: #118565; }
.extension-notify span,.extension-notify b,.extension-notify small { display: block; min-width: 0; }
.extension-notify small { margin-top: 4px; }
.extension-result { padding: 15px; border-radius: 12px; }
.extension-result.success { border: 1px solid #63c8a8; background: #eaf7f2; color: #075a45; }
.extension-result p { margin: 6px 0 12px; }
.extension-result > div { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.extension-result a { display: grid; place-items: center; min-height: 46px; border-radius: 9px; text-decoration: none; }
.checklist-row-actions { display: flex; flex-wrap: wrap; gap: 8px; }
@media(max-width:760px){#extension-dialog[open]{position:fixed;inset:8px;width:auto;max-width:none;max-height:none;margin:0;overflow:auto}.extension-body{padding:15px}.extension-result>div{grid-template-columns:1fr}.dashboard-reservation-actions .extension-button{width:100%}}

/* Acabamento único para todas as páginas do assistente de reserva. */
#reservation-wizard { border: 1px solid #FBBF24; background: #F5F5F5; box-shadow: 0 28px 90px #00000055; }
#reservation-wizard-form > header { border-bottom: 1px solid #FBBF24; background: linear-gradient(135deg, #2D2D2D, #000000); color: #fff; }
#reservation-wizard-form > header small { color: #FBBF24; }
#reservation-wizard-form > header h2 { color: #fff; }
#wizard-body { background: linear-gradient(180deg, #fdfbf7, #F5F5F5); }
#reservation-wizard-form > footer { border-top: 1px solid #FBBF24; background: #fff; }
#wizard-back { border: 1px solid #FBBF24; background: #fff; color: #000000; }
#wizard-next { border: 1px solid #FBBF24; background: linear-gradient(135deg, #2D2D2D, #000000); color: #fff; }
.wizard-language-page { width: min(680px, 100%); margin-inline: auto; }
.wizard-language-first h3 { color:#111111!important; -webkit-text-fill-color:#111111!important; }
.wizard-language-first p { color:#536271!important; -webkit-text-fill-color:#536271!important; }
.country-mark{display:inline-grid;place-items:center;min-width:34px;height:25px;margin-right:7px;border:1px solid #FBBF24;border-radius:7px;background:#fff;color:#2D2D2D;font:900 10px/1 'Poppins',sans-serif;font-style:normal;letter-spacing:.5px;vertical-align:middle}
.planner-vehicle-photo.unavailable b{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(145deg,#FFFDF2,#e7ddc8);color:#2D2D2D;font-size:10px;letter-spacing:1px}
.table-wrap{scrollbar-gutter:stable;overscroll-behavior-inline:contain}
.table-wrap:focus-visible{outline:3px solid #FBBF24;outline-offset:2px}
.wizard-dates-page { width: min(720px, 100%); margin-inline: auto; padding: 18px; border: 1px solid #FBBF24; border-radius: 18px; background: #fff; box-shadow: 0 10px 26px #00000010; }
.wizard-dates-page .standalone { border-color: #FBBF24; background: #FFFDF2; }
.wizard-choice,.wizard-location-choice,.commercial-section,.wizard-summary article { border-color: #FCD34D; }
.wizard-choice.selected,.wizard-location-choice.selected { border-color: #FBBF24; box-shadow: 0 0 0 2px #FBBF2424; }
@media (max-width: 700px) {
  #reservation-wizard { border-radius: 22px; }
  .wizard-language-page,.wizard-dates-page { width: 100%; }
  .wizard-dates-page { padding: 14px; border-radius: 16px; }
}

/* O checklist precisa permanecer dentro da largura útil do Safari no iPhone. */

/* Contraste definitivo do passo Datas no assistente administrativo. Esta folha
   carrega por último e impede regras legadas de deixarem texto claro em marfim. */
#reservation-wizard #wizard-body .wizard-dates-page > label {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  text-shadow: 0 2px 3px #000000 !important;
}
#reservation-wizard #wizard-body .wizard-dates-page .standalone {
  background: #FFFDF2 !important;
  color: #000000 !important;
  opacity: 1 !important;
}
#reservation-wizard #wizard-body .wizard-dates-page .standalone h3 {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  opacity: 1 !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  text-shadow: none !important;
}
#reservation-wizard #wizard-body .wizard-dates-page .standalone p {
  color: #263b50 !important;
  -webkit-text-fill-color: #263b50 !important;
  opacity: 1 !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1.5 !important;
  text-shadow: none !important;
}
#reservation-wizard #wizard-body .wizard-contract-email-choice {
  display: grid !important;
  grid-template-columns: 28px minmax(0,1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 112px !important;
  padding: 22px !important;
}
#reservation-wizard #wizard-body .wizard-contract-email-choice input {
  width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 !important;
  accent-color: #2D2D2D;
}
#reservation-wizard #wizard-body .wizard-contract-email-choice span,
#reservation-wizard #wizard-body .wizard-contract-email-choice b,
#reservation-wizard #wizard-body .wizard-contract-email-choice small {
  -webkit-text-fill-color: initial !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
#reservation-wizard #wizard-body .wizard-contract-email-choice b {
  display: block;
  color: #000000 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
}
#reservation-wizard #wizard-body .wizard-contract-email-choice small {
  display: block;
  margin-top: 6px;
  color: #263b50 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}
#modal,
#entity-form,
#entity-form > header,
#entity-form > footer,
#form-fields,
#form-fields > * {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
#entity-form[data-page="checklist"] {
  width: 100%;
  overflow-x: hidden;
}
#entity-form[data-page="checklist"] > header,
#entity-form[data-page="checklist"] > footer,
#entity-form[data-page="checklist"] #form-fields {
  width: 100%;
}
#entity-form[data-page="checklist"] #form-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow-x: hidden;
}
#entity-form[data-page="checklist"] #form-fields .wide {
  grid-column: 1 / -1;
}
#entity-form[data-page="checklist"] .checklist-photos,
#entity-form[data-page="checklist"] .fuel-level-field,
#entity-form[data-page="checklist"] .maintenance-referral,
#entity-form[data-page="checklist"] .checkout-pending-alert {
  width: 100%;
  overflow-wrap: anywhere;
}
#entity-form[data-page="checklist"] input:not([type="checkbox"]):not([type="radio"]),
#entity-form[data-page="checklist"] select,
#entity-form[data-page="checklist"] textarea,
#entity-form[data-page="checklist"] .camera-button {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
#entity-form[data-page="checklist"] .camera-button {
  white-space: normal;
  overflow-wrap: anywhere;
}
#entity-form[data-page="checklist"] [hidden] { display:none!important; }
.checklist-wizard-progress { display:grid;gap:8px;padding:2px 2px 8px;color:#8b6a2c;font-weight:800;letter-spacing:.08em; }
.checklist-wizard-progress > div { display:grid;grid-template-columns:repeat(4,1fr);gap:7px; }
.checklist-wizard-progress i { height:6px;border-radius:999px;background:#dce2e8; }
.checklist-wizard-progress i.active { background:#FBBF24; }
.checklist-step { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start; }
.checklist-step.hidden { display:none!important; }
.checklist-step > h3,.checklist-step > .wide,.checklist-step-actions { grid-column:1/-1; }
.checklist-step > h3 { margin:0 0 4px;color:#2D2D2D;font-size:20px; }
.checklist-step-actions { display:flex;justify-content:space-between;gap:10px;padding-top:8px; }
.checklist-step-actions button { min-height:50px;min-width:140px; }
.registered-plate-card { display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:15px 17px;border:2px solid #FBBF24;border-radius:13px;background:#fff8e8;color:#000000!important;-webkit-text-fill-color:#000000;min-width:0;max-width:100%;overflow:hidden; }
.registered-plate-card small { color:#7a6332!important;-webkit-text-fill-color:#7a6332;font-size:10px;font-weight:850;letter-spacing:.08em; }
.registered-plate-card strong { display:block;min-width:0;max-width:100%;color:#2D2D2D!important;-webkit-text-fill-color:#2D2D2D;font-size:clamp(18px,4.7vw,25px);line-height:1.2;letter-spacing:.025em;white-space:normal;overflow-wrap:anywhere;word-break:break-word; }
@media(max-width:760px){
  .registered-plate-card { align-items:flex-start;flex-direction:column;gap:6px; }
  .registered-plate-card small { display:block;line-height:1.35; }
  .registered-plate-card strong { font-size:clamp(18px,5.5vw,23px); }
}

@media (max-width: 760px) {
  #modal[open] {
    position: fixed;
    top:max(48px,calc(env(safe-area-inset-top) + 14px));
    right:max(10px,env(safe-area-inset-right));
    bottom:max(22px,calc(env(safe-area-inset-bottom) + 12px));
    left:max(10px,env(safe-area-inset-left));
    width: auto;
    max-width: none;
    height: auto;
    max-height: none;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
  }
  #entity-form[data-page="checklist"] {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100%;
  }
  #entity-form[data-page="checklist"] > header,
  #entity-form[data-page="checklist"] > footer {
    flex: 0 0 auto;
  }
  #entity-form[data-page="checklist"] > header {
    min-height:92px;
    align-items:center;
    padding:18px 22px;
  }
  #entity-form[data-page="checklist"] #form-fields {
    flex: 1 1 auto;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  #entity-form[data-page="checklist"] #form-fields .wide {
    grid-column: 1;
  }
  .checklist-step { grid-template-columns:minmax(0,1fr); }
  .checklist-step > h3,.checklist-step > .wide,.checklist-step-actions { grid-column:1; }
  #entity-form[data-page="checklist"] > footer {
    position: relative;
    bottom: auto;
  }
}

/* Safari/PWA: mantém integralmente legível a ação de mensagem. */
#content button.message-action,
#content button.message-action:hover,
#content button.message-action:focus-visible,
#content button.message-action:active,
#content button.message-action:disabled,
#content button.message-action *{
  border-color:#2c6595!important;
  background-color:#16446d!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Alto contraste para os cartões de reservas sobre o fundo claro. */
#content .reservation-highlights .calendar-day article{
  grid-template-columns:120px minmax(0,1fr);
  gap:7px;
  padding:14px 12px;
  background:#fff;
}
#content .reservation-highlights .calendar-day article b,
#content .reservation-highlights .calendar-day article strong{
  color:#111111!important;
  -webkit-text-fill-color:#111111!important;
}
#content .reservation-highlights .calendar-day article span{
  color:#526174!important;
  -webkit-text-fill-color:#526174!important;
}
#content .reservation-highlights .calendar-day article small{
  color:#D97706!important;
  -webkit-text-fill-color:#D97706!important;
}
#content .reservation-highlights .reservation-highlight-photo{
  grid-column:1;
  grid-row:2/6;
  display:flex;
  width:120px;
  height:82px;
  overflow:hidden;
  align-items:center;
  justify-content:center;
  border:1px solid #FCD34D;
  border-radius:13px;
  background:#f7f3e9;
  color:#D97706;
  font-size:42px;
}
#content .reservation-highlights .reservation-highlight-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
#content .reservation-highlights .reservation-highlight-vehicle{
  grid-column:2;
  font-size:17px;
  line-height:1.3;
  font-weight:900;
}
#content .reservation-highlights .reservation-highlight-location{
  display:block;
  overflow-wrap:anywhere;
  font-size:13px;
  line-height:1.35;
}
#content .reservation-highlights .reservation-highlight-location b{
  color:#D97706!important;
  -webkit-text-fill-color:#D97706!important;
}
#content .reservation-highlights .calendar-day article>strong,
#content .reservation-highlights .calendar-day article>span:not(.reservation-highlight-photo),
#content .reservation-highlights .calendar-day article>small{
  grid-column:2;
  min-width:0;
}
#content .reservation-highlights .calendar-day .badge{
  width:max-content;
  justify-self:end;
  opacity:1;
}
#content .reservation-highlights .reservation-highlight-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:6px}
#content .reservation-highlights .reservation-highlight-actions button{width:min(180px,100%);min-height:42px;margin:0;padding:9px 16px;border-radius:11px!important;font-size:13px!important;font-weight:900!important}
@media(max-width:760px){#content .reservation-highlights .reservation-highlight-actions button{width:100%;min-height:44px}}
#content .reservation-highlights .calendar-day .badge.checked_out,
#content .reservation-highlights .calendar-day .badge.rented,
#content .reservation-highlights .calendar-day .badge.in_progress{
  border:1px solid #7fa9dd;
  background:#315c91;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#content .reservation-highlights .calendar-day .badge.confirmed{
  border:1px solid #63c8a8;
  background:#118565;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#content .reservation-highlights .calendar-day .badge.pending,
#content .reservation-highlights .calendar-day .badge.quote{
  border:1px solid #FCD34D;
  background:#9a6a15;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
#content .reservation-highlights .calendar-day .badge.cancelled,
#content .reservation-highlights .calendar-day .badge.no_show{
  border:1px solid #e39aa0;
  background:#b63d49;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Acabamento unificado: azul e dourado nos detalhes, áreas de trabalho claras. */
#content .panel,
#content .settings-card,
#content .planner-panel,
#content .email-reader,
#content .calendar-day {
  background: linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
  color: #111111;
  border-color: #FBBF24;
  box-shadow: 0 12px 30px #0000001c;
}
#content .panel-head,
#content .settings-card > footer,
#content .email-reader > header,
#content .email-reader > footer {
  background: linear-gradient(135deg,#2D2D2D,#000000);
  color:#fff;
  border-color:#FBBF24;
}
#content .panel h1,#content .panel h2,#content .panel h3,#content .panel h4,
#content .settings-card h1,#content .settings-card h2,#content .settings-card h3,
#content .calendar-day h3,#content .email-reader h2 { color:inherit; }
#content .panel-head h1,#content .panel-head h2,#content .panel-head h3,
#content .settings-card > footer h1,#content .settings-card > footer h2,#content .settings-card > footer h3,
#content .email-reader > header h2 { color:#fff; }
#content .panel-head small,#content .panel-head > span,#content .panel-head p,
#content .panel .link,#content .settings-card small,#content .calendar-day small,
#content .email-reader > header small { color:#FBBF24; }
#content .panel table,#content .settings-card table { background:#fff; }
#content .panel th,#content .settings-card th { background:#fff8e9;color:#D97706;border-color:#ead6aa; }
#content .panel td,#content .settings-card td { background:#fff;color:#111111;border-color:#e7dfcf; }
#content .panel td::before,#content .settings-card td::before { color:#D97706!important; }
#content .panel td small,#content .panel td span:not(.badge):not(.status),#content .settings-card td small { color:#657483; }
#content .panel td a:not(.primary):not(.button),#content .settings-card td a:not(.primary):not(.button) { color:#2D2D2D; }
#content .panel label,#content .settings-card label,#content .email-reader label { color:#111111; }
#content .empty.standalone,#content .empty { background:#FFFDF2;color:#657483; }

dialog:not(#reservation-wizard):not(#extension-dialog) {
  border:2px solid #FBBF24;
  border-radius:20px;
  background:#fff;
  box-shadow:0 24px 65px #00000055;
}
dialog:not(#reservation-wizard):not(#extension-dialog) form > header {
  background:linear-gradient(135deg,#2D2D2D,#000000);
  border-bottom-color:#FBBF24;
  box-shadow:inset 0 -1px #ffffff18;
}
dialog:not(#reservation-wizard):not(#extension-dialog) #form-fields { background:linear-gradient(180deg,#fffdfa,#F5F5F5); }
dialog:not(#reservation-wizard):not(#extension-dialog) footer { background:#fff; border-top-color:#e2c77f; box-shadow:0 -8px 22px #00000010; }
dialog:not(#reservation-wizard):not(#extension-dialog) .primary { background:linear-gradient(135deg,#2D2D2D,#000000); border:1px solid #FBBF24; box-shadow:0 7px 16px #00000025; }
dialog:not(#reservation-wizard):not(#extension-dialog) .secondary { background:#FFFDF2; border:1px solid #FCD34D; color:#2D2D2D; }
#entity-form[data-page="checklist"] .checklist-photos {
  border:1px dashed #FBBF24;
  border-radius:15px;
  padding:16px;
  background:linear-gradient(145deg,#fff,#f8fafc);
  box-shadow:0 5px 16px #0000000d;
}
#entity-form[data-page="checklist"] .camera-button {
  border-color:#b98a2f;
  background:linear-gradient(135deg,#ffe6a8,#e9bd61);
  color:#000000!important;
  text-shadow:none;
  box-shadow:0 6px 15px #b98a2f24;
}
#entity-form[data-page="checklist"] .checklist-photos:hover .camera-button,
#entity-form[data-page="checklist"] .camera-file-input:focus-visible + .camera-button {
  border-color:#8e6519;
  background:linear-gradient(135deg,#fff0c6,#f3cc76);
  color:#000000!important;
}
#entity-form[data-page="checklist"] .upload-button {
  border-color:#FBBF24;
  background:linear-gradient(135deg,#fffdf8,#fff4da);
  color:#2D2D2D!important;
  box-shadow:0 5px 13px #FBBF2420;
}
#entity-form[data-page="checklist"] .checklist-step-actions .primary,
#entity-form[data-page="checklist"] > footer .primary {
  border-color:#d5ad5c;
  background:linear-gradient(135deg,#123b60,#071f36)!important;
  color:#f3cb78!important;
  -webkit-text-fill-color:#f3cb78!important;
  opacity:1!important;
  text-shadow:none;
  box-shadow:0 7px 17px #00000038;
}
#entity-form[data-page="checklist"] .checklist-step-actions .primary:disabled,
#entity-form[data-page="checklist"] > footer .primary:disabled {
  border-color:#b69b69!important;
  background:#27445d!important;
  color:#dfc68f!important;
  -webkit-text-fill-color:#dfc68f!important;
  opacity:1!important;
  cursor:not-allowed;
  box-shadow:none;
}
@media(max-width:760px){
  #entity-form[data-page="checklist"] .checklist-step-actions {
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  #entity-form[data-page="checklist"] .checklist-step-actions .primary {
    width:100%;
    min-height:62px;
    padding:16px 20px;
    font-size:17px;
    border-radius:14px;
  }
  #entity-form[data-page="checklist"] .checklist-step-actions .secondary {
    width:100%;
    min-height:48px;
  }
}
#entity-form[data-page="checklist"] .confirm-check,
#entity-form[data-page="checklist"] .fuel-level-field,
#entity-form[data-page="checklist"] .maintenance-referral {
  border-color:#FCD34D;
  background:#FFFDF2;
  box-shadow:0 4px 12px #0000000a;
}
#entity-form[data-page="checklist"] .confirm-check,
#entity-form[data-page="checklist"] .confirm-check span,
#entity-form[data-page="checklist"] .confirm-check small {
  color:#2D2D2D!important;
  -webkit-text-fill-color:#2D2D2D;
}
@media(max-width:760px){
  #content .mobile-card-table tbody { background:transparent; }
  #content .mobile-card-table tr { border-color:#FCD34D!important; background:#fff!important; box-shadow:0 7px 18px #00000014; }
  #content .mobile-card-table td { border-color:#eadfca!important; background:#fff!important; color:#111111!important; }
  #content .mobile-card-table td::before { color:#D97706!important; }
  .long-term-financial-panel .long-term-customer-name,
  .long-term-financial-panel .long-term-vehicle-plate { font-size:19px; }
  .long-term-financial-panel .long-term-due-date { font-size:18px; }
  .long-term-financial-panel .long-term-cycle-note { font-size:17px; }
  #content .reservation-highlights .calendar-day article { grid-template-columns:112px minmax(0,1fr); }
  #content .reservation-highlights .reservation-highlight-photo { width:112px; height:82px; }
  #content .reservation-highlights .reservation-highlight-vehicle { font-size:15px; }
  #entity-form[data-page="checklist"] #form-fields { padding:16px 14px 20px; }
  #entity-form[data-page="checklist"] .checklist-photos { border-radius:16px; }
}

/* Sistema unificado de botões SmartGoSys. Ações operacionais coloridas mantêm sua semântica. */
.reservation-filters{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px!important;padding:10px!important;border:1px solid #9d7a39;border-radius:18px;background:linear-gradient(145deg,#061725,#0a2943);box-shadow:inset 0 1px #ffffff12,0 12px 28px #0003}
.reservation-filters button,.reservation-filters button:first-child{grid-column:auto!important;min-height:46px!important;margin:0!important;padding:8px 10px!important;border:1px solid #3e6688!important;border-radius:12px!important;background:linear-gradient(145deg,#174b74,#0b2b48)!important;box-shadow:inset 0 1px #ffffff20,0 5px 0 #000000,0 8px 15px #0004!important;color:#eef5fb!important;-webkit-text-fill-color:#eef5fb!important;font-size:13px!important;line-height:1.15!important;text-shadow:0 1px 1px #0008}
.reservation-filters button span{min-width:24px!important;height:24px!important;margin-left:7px!important;padding:0 6px!important;border:1px solid #8c713d!important;border-radius:12px!important;background:#0a2035!important;color:#f1cc7b!important;-webkit-text-fill-color:#f1cc7b!important;font-size:10px!important;box-shadow:inset 0 1px #ffffff18!important}
.reservation-filters button.active{border-color:#e0bb68!important;background:linear-gradient(145deg,#1b5c8d,#103c62)!important;color:#FCD34D!important;-webkit-text-fill-color:#FCD34D!important;box-shadow:inset 0 1px #ffffff2b,0 4px 0 #755621,0 8px 18px #0005!important}
.reservation-filters button.active span{background:linear-gradient(145deg,#e4bd63,#af812d)!important;color:#000000!important;-webkit-text-fill-color:#000000!important}
.reservation-filters button:active{transform:translateY(3px);box-shadow:inset 0 1px #ffffff20,0 2px 0 #000000,0 4px 9px #0004!important}
@media(max-width:760px){.reservation-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;padding:9px!important}.reservation-filters button{min-height:44px!important;font-size:12px!important;padding:7px 8px!important}}
.primary:not(.checklist-action-button){
  border:1px solid #d5ad5c!important;
  background:linear-gradient(135deg,#123b60,#071f36)!important;
  color:#f3cb78!important;
  -webkit-text-fill-color:#f3cb78!important;
  box-shadow:0 6px 15px #0000002c;
}
.primary:not(.checklist-action-button):hover,
.primary:not(.checklist-action-button):focus-visible{
  border-color:#FCD34D!important;
  background:linear-gradient(135deg,#194d78,#2D2D2D)!important;
  color:#ffe0a0!important;
  -webkit-text-fill-color:#ffe0a0!important;
}
.secondary{
  border:1px solid #527896!important;
  background:linear-gradient(145deg,#174b74,#0b2b48)!important;
  color:#eef5fb!important;
  -webkit-text-fill-color:#eef5fb!important;
  box-shadow:inset 0 1px #ffffff20,0 4px 0 #000000,0 7px 14px #0003!important;
}
.secondary:hover,.secondary:focus-visible{
  border-color:#d7b667!important;
  background:linear-gradient(145deg,#1d5c8c,#103b60)!important;
  color:#FCD34D!important;
  -webkit-text-fill-color:#FCD34D!important;
}
.danger{
  border:1px solid #a9343f!important;
  background:#c84d55!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.row-actions button:not(.primary):not(.danger):not(.extension-button){
  border-color:#527896;
  background:linear-gradient(145deg,#174b74,#0b2b48);
  color:#eef5fb;
  -webkit-text-fill-color:#eef5fb;
  box-shadow:inset 0 1px #ffffff20,0 3px 0 #000000,0 6px 12px #0003;
}
.toolbar{gap:12px!important;padding:12px!important;border:1px solid #8c713d;border-radius:16px;background:linear-gradient(145deg,#000000,#2D2D2D);box-shadow:inset 0 1px #ffffff12,0 10px 24px #0002}
.toolbar button,.toolbar a.primary,.toolbar a.secondary{min-height:44px;border-radius:11px!important}
.calendar-view-tabs{gap:7px;padding:7px!important;border:1px solid #8c713d;background:linear-gradient(145deg,#000000,#2D2D2D)!important;box-shadow:inset 0 1px #ffffff12,0 7px 16px #0003}
.calendar-view-tabs button,.calendar-period button{min-height:40px!important;border:1px solid #527896!important;background:linear-gradient(145deg,#174b74,#0b2b48)!important;color:#eef5fb!important;-webkit-text-fill-color:#eef5fb!important;box-shadow:inset 0 1px #ffffff20,0 3px 0 #000000,0 6px 12px #0003!important}
.calendar-view-tabs button.active{border-color:#d7b667!important;background:linear-gradient(145deg,#1d5c8c,#103b60)!important;color:#FCD34D!important;-webkit-text-fill-color:#FCD34D!important;box-shadow:inset 0 1px #ffffff2b,0 3px 0 #755621,0 6px 14px #0004!important}
.calendar-period strong{color:#f2ce7e!important;-webkit-text-fill-color:#f2ce7e!important}
.toolbar button:active,.secondary:active,.row-actions button:active,.calendar-view-tabs button:active,.calendar-period button:active{transform:translateY(2px)}
.primary:not(.checklist-action-button):disabled,.secondary:disabled,.danger:disabled{
  opacity:1!important;
  cursor:not-allowed;
  border-color:#48657d!important;
  background:linear-gradient(145deg,#173c5b,#0b263e)!important;
  color:#aebfcd!important;
  -webkit-text-fill-color:#aebfcd!important;
  box-shadow:inset 0 1px #ffffff12,0 3px 0 #000000!important;
}
#reservation-change-button{width:100%;min-height:50px;font-size:15px!important;font-weight:850!important;letter-spacing:.2px}
#reservation-change-button:not(:disabled){border-color:#d7b667!important;color:#FCD34D!important;-webkit-text-fill-color:#FCD34D!important}
.checklist-inline-warning{
  display:block;
  margin-top:10px;
  padding:12px 14px;
  border:1px solid #d88b38;
  border-radius:10px;
  background:#fff1dc;
  color:#7d4b08!important;
  font-size:14px;
  font-weight:850;
  line-height:1.4;
}
.checklist-vehicle-change{display:grid;gap:10px}.checklist-vehicle-change>button{width:100%;min-height:50px}.checklist-vehicle-change>div{display:grid;gap:10px;padding:14px;border:1px solid #FCD34D;border-radius:12px;background:#FFFDF2}.checklist-vehicle-change label{display:grid;gap:7px;color:#2D2D2D;font-weight:800}.checklist-vehicle-change select{width:100%;min-height:52px;padding:12px;border:1px solid #FBBF24;border-radius:10px;background:#fff;color:#2D2D2D;font-size:16px}.checklist-vehicle-change small{display:block;color:#657483;font-weight:700;line-height:1.4}

/* Eixo único de página: conteúdo centralizado sem alterar a leitura interna. */
:root{--smartgosys-page-max:1320px;--smartgosys-page-gutter:28px;}
main>header{
  padding-left:max(var(--smartgosys-page-gutter),calc((100% - var(--smartgosys-page-max))/2 + var(--smartgosys-page-gutter)));
  padding-right:max(var(--smartgosys-page-gutter),calc((100% - var(--smartgosys-page-max))/2 + var(--smartgosys-page-gutter)));
}
#content{
  box-sizing:border-box;
  width:100%;
  max-width:var(--smartgosys-page-max);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--smartgosys-page-gutter);
  padding-right:var(--smartgosys-page-gutter);
}
#content>*,#content>.panel,#content>.toolbar,#content>.welcome,#content>.metrics,
#content>.settings-grid,#content>.calendar-toolbar,#content>.planner-panel{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
dialog:not(#modal),#reservation-wizard,#extension-dialog{
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:760px){
  :root{--smartgosys-page-gutter:14px;}
  main>header{
    padding-left:max(var(--smartgosys-page-gutter),env(safe-area-inset-left))!important;
    padding-right:max(var(--smartgosys-page-gutter),env(safe-area-inset-right))!important;
  }
  #content{
    max-width:100%;
    padding-left:max(var(--smartgosys-page-gutter),env(safe-area-inset-left));
    padding-right:max(var(--smartgosys-page-gutter),env(safe-area-inset-right));
  }
  #content>.toolbar,#content>.welcome,#content>.panel,#content>.metrics,
  #content>.settings-grid,#content>.calendar-toolbar,#content>.planner-panel{
    max-width:100%;
  }
}

/* Janela de mensagens Turo: geometria estável no Safari/iPhone. */
#turo-message-dialog[open]{box-sizing:border-box!important;width:min(760px,calc(100vw - 24px))!important;min-width:0!important;max-width:760px!important;height:min(860px,calc(100dvh - 24px))!important;min-height:420px!important;max-height:calc(100dvh - 24px)!important;margin:auto!important;padding:0!important;overflow:hidden!important}
#turo-message-dialog>form{box-sizing:border-box!important;display:grid!important;grid-template-rows:auto minmax(110px,1fr) auto auto auto!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;gap:0!important;overflow:hidden!important}
#turo-message-dialog>form>header{position:relative!important;top:auto!important}
#turo-message-dialog .turo-dialog-history{box-sizing:border-box!important;min-height:0!important;max-height:none!important;margin:14px 18px 10px!important;overflow-y:auto!important;overscroll-behavior:contain}
#turo-message-dialog>form>label{display:grid!important;gap:8px!important;margin:0 18px 10px!important}
#turo-message-dialog textarea{box-sizing:border-box!important;min-height:96px!important;max-height:150px!important;resize:none!important}
#turo-message-dialog .turo-send-warning{margin:0 18px 12px!important}
#turo-message-dialog .signature-actions{position:relative!important;bottom:auto!important;margin:0!important}
@media(max-width:760px){
  #turo-message-dialog[open]{position:fixed!important;top:max(8px,env(safe-area-inset-top))!important;right:8px!important;bottom:auto!important;left:8px!important;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;min-height:420px!important;max-height:calc(100vh - 16px)!important;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;margin:0!important;transform:none!important;z-index:10000!important}
  #turo-message-dialog>form{grid-template-rows:auto minmax(90px,1fr) auto auto auto!important}
  #turo-message-dialog .turo-dialog-history{margin:10px 12px 8px!important;padding:10px!important}
  #turo-message-dialog>form>label{margin:0 12px 8px!important}
  #turo-message-dialog textarea{min-height:88px!important;max-height:112px!important}
  #turo-message-dialog .turo-send-warning{margin:0 12px 8px!important;padding:9px 11px!important}
  #turo-message-dialog .signature-actions{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important}
}

/* Extensão de reserva: geometria explícita para Safari/iPhone.
   Evita o backdrop visível com o formulário deslocado para fora do viewport. */
#extension-dialog[open]{box-sizing:border-box!important;width:min(620px,calc(100vw - 24px))!important;min-width:0!important;max-width:620px!important;height:min(760px,calc(100dvh - 24px))!important;min-height:0!important;max-height:calc(100dvh - 24px)!important;margin:auto!important;padding:0!important;overflow:hidden!important;transform:none!important}
#extension-dialog::backdrop{background:#061522e8!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#extension-form{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important}
#extension-form>header{position:relative!important;top:auto!important}
#extension-dialog .extension-body{box-sizing:border-box!important;flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
#extension-form>footer{position:relative!important;bottom:auto!important;margin:0!important}
@media(max-width:760px){
  #extension-dialog[open]{position:fixed!important;top:max(8px,env(safe-area-inset-top))!important;right:8px!important;bottom:auto!important;left:8px!important;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;max-height:calc(100vh - 16px)!important;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;margin:0!important;transform:none!important;z-index:10000!important}
}

/* Mensagem direta: janela estável no Safari/iPhone. */
#direct-customer-message-dialog[open]{box-sizing:border-box!important;width:min(620px,calc(100vw - 24px))!important;min-width:0!important;max-width:620px!important;height:min(650px,calc(100dvh - 24px))!important;min-height:0!important;max-height:calc(100dvh - 24px)!important;margin:auto!important;padding:0!important;overflow:hidden!important;transform:none!important}
#direct-customer-message-dialog::backdrop{background:#061522e8!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#direct-customer-message-dialog>form{box-sizing:border-box!important;display:grid!important;grid-template-rows:auto minmax(150px,1fr) auto auto!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;gap:0!important;overflow:hidden!important}
#direct-customer-message-dialog>form>header{box-sizing:border-box!important;position:relative!important;top:auto!important;display:block!important}
#direct-customer-message-dialog>form>label{box-sizing:border-box!important;display:grid!important;grid-template-rows:auto minmax(110px,1fr)!important;gap:8px!important;min-height:0!important;margin:16px 18px 10px!important}
#direct-customer-message-dialog textarea{box-sizing:border-box!important;width:100%!important;height:100%!important;min-height:110px!important;max-height:none!important;resize:none!important}
#direct-customer-message-dialog .turo-send-warning{margin:0 18px 12px!important}
#direct-customer-message-dialog .signature-actions{position:relative!important;bottom:auto!important;margin:0!important}
@media(max-width:760px){
  #direct-customer-message-dialog[open]{position:fixed!important;top:max(8px,env(safe-area-inset-top))!important;right:8px!important;bottom:auto!important;left:8px!important;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;max-height:calc(100vh - 16px)!important;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;margin:0!important;transform:none!important;z-index:10000!important}
  #direct-customer-message-dialog>form{grid-template-rows:auto minmax(130px,1fr) auto auto!important}
  #direct-customer-message-dialog>form>header{padding:15px 16px!important}
  #direct-customer-message-dialog>form>label{margin:12px 12px 8px!important}
  #direct-customer-message-dialog .turo-send-warning{margin:0 12px 8px!important;padding:9px 11px!important}
  #direct-customer-message-dialog .signature-actions{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important}
}

/* Regra estrutural de segurança para todas as janelas internas.
   Fica no fim do tema para neutralizar cálculos conflitantes do Safari. */
body:has(#app:not(.hidden))>dialog::backdrop{background:#061522e8!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
@media(max-width:760px){
  body:has(#app:not(.hidden))>dialog[open]{box-sizing:border-box!important;position:fixed!important;top:max(8px,env(safe-area-inset-top))!important;right:max(8px,env(safe-area-inset-right))!important;bottom:auto!important;left:max(8px,env(safe-area-inset-left))!important;width:auto!important;min-width:0!important;max-width:none!important;height:calc(100vh - 16px)!important;height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;min-height:0!important;max-height:calc(100vh - 16px)!important;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;margin:0!important;padding:0!important;overflow:hidden!important;transform:none!important;z-index:10000!important}
  body:has(#app:not(.hidden))>dialog[open]>form{box-sizing:border-box!important;width:100%!important;max-width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;overflow-x:hidden!important;overscroll-behavior:contain!important}
}

/* Contraste global dos campos claros.
   Controles que usam fundo branco nunca podem herdar texto branco do tema escuro. */
#entity-form #form-fields textarea,
#entity-form #form-fields select,
#content .panel input:not([type="checkbox"]):not([type="radio"]),
#content .panel textarea,
#content .panel select,
#content .settings-card input:not([type="checkbox"]):not([type="radio"]),
#content .settings-card textarea,
#content .settings-card select,
.customer-charge-overlay input,
.customer-charge-overlay textarea,
.customer-charge-overlay select,
.checkout-modal form input {
  background-color:#fff!important;
  color:#2D2D2D!important;
  -webkit-text-fill-color:#2D2D2D!important;
  caret-color:#2D2D2D!important;
  color-scheme:light;
  opacity:1!important;
}
#entity-form #form-fields textarea::placeholder,
#content .panel input::placeholder,
#content .panel textarea::placeholder,
#content .settings-card input::placeholder,
#content .settings-card textarea::placeholder,
.customer-charge-overlay input::placeholder,
.customer-charge-overlay textarea::placeholder,
.checkout-modal form input::placeholder {
  color:#667789!important;
  -webkit-text-fill-color:#667789!important;
  opacity:1!important;
}

/* Cartões brancos do painel de Manutenção: todos os valores precisam ser escuros. */
.maintenance-handoff-panel tbody td:not(:last-child),
.maintenance-handoff-panel tbody td:not(:last-child)>span,
.maintenance-handoff-panel tbody td:not(:last-child)>small,
.maintenance-handoff-panel tbody td:not(:last-child) .maintenance-assignee,
.maintenance-handoff-panel tbody td:not(:last-child) .maintenance-assignee>span {
  color:#111111!important;
  -webkit-text-fill-color:#111111!important;
  opacity:1!important;
}
.maintenance-handoff-panel tbody td:not(:last-child)>small {
  color:#586a7b!important;
  -webkit-text-fill-color:#586a7b!important;
}

/* Camada final: a ação de devolução nunca pode herdar o azul/dourado genérico. */
#content .dashboard-agenda .dashboard-reservation-actions button.primary.check-out-action,
#content .reservation-highlights .reservation-highlight-actions button.primary.check-out-action,
#content .long-term-financial-panel .dashboard-reservation-actions button.primary.check-out-action,
#content .row-actions button.primary.check-out-action {
  background:#c84d55!important;
  background-image:none!important;
  border-color:#c84d55!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Check-in/retirada: verde e letras brancas em qualquer lista ou cartão. */
#content .dashboard-agenda .dashboard-reservation-actions button.primary.check-in-action,
#content .reservation-highlights .reservation-highlight-actions button.primary.check-in-action,
#content .long-term-financial-panel .dashboard-reservation-actions button.primary.check-in-action,
#content .row-actions button.primary.check-in-action {
  background:#118565!important;
  background-image:none!important;
  border-color:#118565!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.active-charge-link{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin:.75rem 0;padding:.75rem;border:1px solid #FBBF24;border-radius:12px;background:#eef7f3;color:#123e32}
.active-charge-link span{font-weight:800}
.active-charge-link button{min-height:46px;border:1px solid #FBBF24;border-radius:12px;background:linear-gradient(145deg,#2D2D2D,#000000);color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800}
.charge-link-actions-overlay{z-index:2147483600}
.charge-link-actions-shell{height:auto!important;max-height:min(720px,100%)!important;min-height:0!important}
.charge-link-action-list{display:grid;gap:.75rem;padding:1.25rem}
.charge-link-action-list button{width:100%;min-height:52px;padding:.85rem 1rem;border:1px solid #FBBF24;border-radius:12px;background:linear-gradient(145deg,#2D2D2D,#000000);color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800;text-align:left}
.charge-link-action-list button.primary{border-color:#FBBF24;background:linear-gradient(145deg,#1d5f8f,#0a2a44);color:#FCD34D!important;-webkit-text-fill-color:#FCD34D!important}
.charge-link-action-list button:disabled{opacity:.45;cursor:not-allowed}
.charge-link-action-list small{color:#526474!important;-webkit-text-fill-color:#526474!important;line-height:1.45}

