:root {
  --navy: #071827 !important;
  --navy2: #0b2e4f !important;
  --gold: #c9a45c !important;
  --bg: #f7f3ea !important;
  --white: #fff !important;
  --text: #142536 !important;
  --muted: #657483 !important;
  --line: #e7e5df !important;
  --red: #ef6b5b !important;
  --blue: #0b2e4f !important;
}

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

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

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

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

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

/* Dashboard no mesmo padrão dos cartões oficiais YouVip. */
.dashboard-metrics .metric-card {
  border: 2px solid #c9a45c;
  background: linear-gradient(145deg, #0b2e4f, #071827);
  color: #fff;
  box-shadow: 0 9px 24px #07182724;
}
.dashboard-metrics .metric-card:hover,
.dashboard-metrics .metric-card:focus-visible { border-color: #dbb86f; box-shadow: 0 12px 28px #07182735; }
.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 #c9a45c; background: #071827; color: #c9a45c; }
.dashboard-metrics .metric-card small { color: #dbb86f; }
.dashboard-metrics .metric-card strong,
.dashboard-metrics .metric-card strong b { color: #fff; }
.dashboard-metrics .metric-card span { color: #d7dee8; }

.dashboard-metrics + .panel { border: 2px solid #c9a45c; background: #071827; box-shadow: 0 14px 34px #0718272b; }
.dashboard-metrics + .panel .panel-head { border-bottom: 1px solid #c9a45c; background: #071827; color: #fff; }
.dashboard-metrics + .panel .panel-head small,
.dashboard-metrics + .panel .link { color: #dbb86f; }
.dashboard-metrics + .panel .panel-head h3 { color: #fff; }
.dashboard-metrics + .panel table { background: #071827; }
.dashboard-metrics + .panel th { border-bottom: 1px solid #c9a45c; background: #0b2e4f; color: #dbb86f; }
.dashboard-metrics + .panel td { border-color: #c9a45c; background: #0b2e4f; color: #fff; }
.dashboard-metrics + .panel td::before { color: #dbb86f !important; }
.dashboard-metrics + .panel td small,
.dashboard-metrics + .panel td span { color: #d7dee8; }
.dashboard-metrics + .panel td a { color: #dbb86f; }
.dashboard-metrics + .panel .badge.confirmed {
  border: 1px solid #63c8a8;
  background: #118565;
  color: #fff !important;
  font-weight: 900;
  box-shadow: 0 4px 12px #07182735;
}
.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 #c9a45c !important; border-radius: 15px; background: #0b2e4f; box-shadow: 0 7px 18px #0003; }
  .dashboard-metrics + .panel .mobile-card-table td { border-color: #c9a45c !important; background: #0b2e4f !important; color: #fff !important; }
}

/* Ações da agenda sem botões brancos residuais. */
.dashboard-reservation-actions .secondary {
  border: 1px solid #c9a45c !important;
  background: #0b2e4f !important;
  color: #fff !important;
}
.dashboard-reservation-actions .extension-button,
.checklist-row-actions .extension-button,
.row-actions .extension-button {
  border: 1px solid #e2c77f !important;
  background: #c9a45c !important;
  color: #071827 !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: #dbb86f !important; }

/* Calendário operacional no padrão oficial YouVip. */
.calendar-toolbar {
  padding: 13px;
  border: 2px solid #c9a45c;
  border-radius: 15px;
  background: #071827;
  color: #fff;
  box-shadow: 0 10px 26px #07182724;
}
.calendar-view-tabs { border: 1px solid #c9a45c; background: #0b2e4f; }
.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: #c9a45c;
  color: #071827;
  box-shadow: none;
}
.calendar-period strong { color: #fff; }
#content .planner-panel { border: 2px solid #c9a45c; background: #071827; }
.planner-scroll { background: #071827; }
.planner-inner { background: #071827; }
.planner-head { border-bottom-color: #c9a45c; background: #071827; }
.planner-head > div { border-left-color: #c9a45c; background: #071827; color: #dbb86f; }
.planner-head > div:first-child { color: #fff; }
.planner-head b { color: #fff; }
.planner-head .today { background: #c9a45c; color: #071827; }
.planner-head .today b,
.planner-head .today small { color: #071827; }
.planner-row { border-bottom-color: #c9a45c; background: #0b2e4f; }
.planner-vehicle { border-right-color: #c9a45c; background: #071827; color: #fff; }
.planner-vehicle strong { color: #fff; }
.planner-vehicle small { color: #dbb86f; }
.planner-days { background: #0b2e4f; }
.planner-days > span { border-right-color: #c9a45c44; }
.planner-days > span.today { background: #c9a45c26; }
.calendar-booking { border: 1px solid #c9a45c; 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 #c9a45c}.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 #c9a45c;
  background: #071827;
  color: #fff;
  box-shadow: 0 12px 30px #07182724;
}
#content .panel-head,
#content .settings-card > footer,
#content .email-reader > header,
#content .email-reader > footer {
  border-color: #c9a45c;
  background: #071827;
  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: #dbb86f; }
#content .panel table,
#content .settings-card table { background: #071827; }
#content .panel th,
#content .settings-card th {
  border-color: #c9a45c;
  background: #071827;
  color: #dbb86f;
}
#content .panel td,
#content .settings-card td {
  border-color: #c9a45c;
  background: #0b2e4f;
  color: #fff;
}
#content .panel td::before,
#content .settings-card td::before { color: #dbb86f !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: #dbb86f; }
#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: #c9a45c;
  background: #fff;
  color: #142536;
}
#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: #c9a45c; }
#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: #c9a45c; background: #071827; color: #d7dee8; }
dialog:not(#reservation-wizard):not(#extension-dialog) { border: 1px solid #c9a45c; }
dialog:not(#reservation-wizard):not(#extension-dialog) form > header {
  border-bottom-color: #c9a45c;
  background: linear-gradient(135deg,#0b2e4f,#071827);
  color: #fff;
}
dialog:not(#reservation-wizard):not(#extension-dialog) form > header small { color: #dbb86f; }
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 #c9a45c!important; border-radius:15px; background:#0b2e4f; box-shadow:0 7px 18px #0003; }
  #content .mobile-card-table td { border-color:#c9a45c!important; background:#0b2e4f!important; color:#fff!important; }
}

/* Tela operacional de retirada/devolução no padrão atual YouVip. */
.operations-checklist-panel { overflow: hidden; border: 2px solid #c9a45c; background: #071827; box-shadow: 0 14px 34px #0718272b; }
.operations-checklist-panel .panel-head { border-bottom: 1px solid #c9a45c; background: #071827; }
.operations-checklist-panel .panel-head h3 { color: #fff; }
.operations-checklist-panel table { background: #071827; }
.operations-checklist-panel th { border-color: #c9a45c; background: #071827; color: #dbb86f; }
.operations-checklist-panel td { border-color: #c9a45c; background: #0b2e4f; color: #fff; }
.operations-checklist-panel td::before { color: #dbb86f !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 #c9a45c!important;border-radius:15px;background:#0b2e4f;box-shadow:0 7px 18px #0003}.operations-checklist-panel .mobile-card-table td{border-color:#c9a45c!important;background:#0b2e4f!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 #c9a45c !important; background: #fff7e5 !important; color: #765313 !important; font-weight: 900 !important; }
#extension-dialog { width: min(620px, calc(100vw - 18px)); border: 1px solid #c9a45c; background: #fff; }
#extension-form > header { border-bottom: 1px solid #c9a45c; background: linear-gradient(135deg,#0b2e4f,#071827); color: #fff; }
#extension-form > header small { color: #dbb86f; }
#extension-form > header h2 { color: #fff; }
.extension-body { display: grid; gap: 16px; padding: 20px; }
.extension-body > label { display: grid; gap: 7px; color: #142536; 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 #c9a45c; border-radius: 11px; background: #fff; color: #142536; font-size: 16px; }
.extension-body label small { color: #657483; font-weight: 600; }
.extension-summary { padding: 15px; border: 1px solid #d8bd8d; border-radius: 13px; background: #fffaf0; }
.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: #071827; color: #fff; }
.extension-calculation b { color: #dbb86f; }
.extension-notify { grid-template-columns: 25px minmax(0,1fr) !important; align-items: start; padding: 14px; border: 1px solid #d8bd8d; border-radius: 12px; background: #fffaf0; }
.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 #c9a45c; background: #f7f3ea; box-shadow: 0 28px 90px #07182755; }
#reservation-wizard-form > header { border-bottom: 1px solid #c9a45c; background: linear-gradient(135deg, #0b2e4f, #071827); color: #fff; }
#reservation-wizard-form > header small { color: #dbb86f; }
#reservation-wizard-form > header h2 { color: #fff; }
#wizard-body { background: linear-gradient(180deg, #fdfbf7, #f7f3ea); }
#reservation-wizard-form > footer { border-top: 1px solid #c9a45c; background: #fff; }
#wizard-back { border: 1px solid #c9a45c; background: #fff; color: #071827; }
#wizard-next { border: 1px solid #c9a45c; background: linear-gradient(135deg, #0b2e4f, #071827); color: #fff; }
.wizard-language-page { width: min(680px, 100%); margin-inline: auto; }
.wizard-dates-page { width: min(720px, 100%); margin-inline: auto; padding: 18px; border: 1px solid #c9a45c; border-radius: 18px; background: #fff; box-shadow: 0 10px 26px #07182710; }
.wizard-dates-page .standalone { border-color: #c9a45c; background: #fffaf0; }
.wizard-choice,.wizard-location-choice,.commercial-section,.wizard-summary article { border-color: #d8bd8d; }
.wizard-choice.selected,.wizard-location-choice.selected { border-color: #c9a45c; box-shadow: 0 0 0 2px #c9a45c24; }
@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. */
#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;
}

@media (max-width: 760px) {
  #modal[open] {
    position: fixed;
    inset: 8px;
    width: auto;
    max-width: none;
    height: auto;
    max-height: none;
    margin: 0;
    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"] #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;
  }
  #entity-form[data-page="checklist"] > footer {
    position: relative;
    bottom: auto;
  }
}
