:root {
  --quickhop-primary: #56cbff;
  --quickhop-secondary: #a6a6a6;
  --quickhop-accent: #a6a6a6;
  --quickhop-warn: #56cbff;
  --quickhop-bg: #fff9f6;
  --quickhop-card: #ffffff;
  --quickhop-text: #5a2a1a;
  --quickhop-muted: #8a5a45;
  --quickhop-border: #ffd9c2;
  --quickhop-radius: 18px;
  --quickhop-shadow: 0 18px 60px rgba(166,166,166,0.10);
  --quickhop-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, Arial, Helvetica, sans-serif;
  color: var(--quickhop-text);
  background: linear-gradient(180deg, #fff9f6 0%, #fff2e8 100%);
}

a { color: var(--quickhop-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }

.quickhop-container {
  width: min(100% - 2rem, var(--quickhop-max));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,0.90);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255, 217, 194, 0.85);
}

.site-header__inner,
.site-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
}

.branding {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.branding__logo {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--quickhop-primary), #a6a6a6);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 1.2rem;
}

.branding__title {
  margin: 0;
  font-size: 1.1rem;
}

.branding__tag {
  margin: 0.15rem 0 0;
  color: var(--quickhop-muted);
  font-size: 0.92rem;
}

.primary-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
}

.primary-nav a {
  color: var(--quickhop-secondary);
  font-weight: 600;
}

.quickhop-button,
button,
input[type='submit'] {
  border: 0;
  border-radius: 999px;
  padding: 0.95rem 1.25rem;
  background: var(--quickhop-primary);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 12px 30px rgba(86,203,255,0.20);
}

.quickhop-button:hover,
button:hover,
input[type='submit']:hover {
  transform: translateY(-1px);
  text-decoration: none;
}

.quickhop-button--ghost {
  background: #fff;
  color: var(--quickhop-secondary);
  border: 1px solid var(--quickhop-border);
  box-shadow: none;
}

.quickhop-button--success { background: var(--quickhop-accent); }
.quickhop-button--danger { background: var(--quickhop-warn); }
.quickhop-button--whatsapp { background: #a6a6a6; }

.hero {
  padding: 4.5rem 0 2.5rem;
}

.hero__grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 2rem;
  align-items: center;
}

.hero__card,
.card {
  background: var(--quickhop-card);
  border: 1px solid rgba(255, 217, 194, 0.85);
  border-radius: var(--quickhop-radius);
  box-shadow: var(--quickhop-shadow);
}

.hero__copy {
  padding: 2rem;
}

.hero h1,
.section-title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4vw, 3.3rem);
  line-height: 1.05;
}

.hero p,
.section-lead {
  color: var(--quickhop-muted);
  font-size: 1.05rem;
  line-height: 1.7;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.5rem;
}

.hero__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}

.hero__stat {
  padding: 1rem;
  border-radius: 16px;
  background: #fff8f3;
  border: 1px solid #ffe0cc;
}

.hero__stat strong {
  display: block;
  font-size: 1.25rem;
  color: var(--quickhop-secondary);
}

.hero__panel {
  padding: 1.5rem;
}

.hero__badge,
.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: #ffe0cc;
  color: var(--quickhop-primary);
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

.section {
  padding: 2.5rem 0;
}

.grid-2,
.grid-3,
.grid-4 {
  display: grid;
  gap: 1.5rem;
}
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.card {
  padding: 1.5rem;
}

.card h3 {
  margin-top: 0;
  margin-bottom: 0.65rem;
  font-size: 1.15rem;
}

.card p,
.card li,
.meta,
.muted {
  color: var(--quickhop-muted);
  line-height: 1.65;
}

.price-band {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 0;
  border-bottom: 1px dashed var(--quickhop-border);
}

.price-band:last-child { border-bottom: 0; }

.quickhop-calculator {
  padding: 1.75rem;
}

.quickhop-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.quickhop-field { display: flex; flex-direction: column; gap: 0.45rem; }
.quickhop-field--full { grid-column: 1 / -1; }
.quickhop-field label {
  font-weight: 700;
  color: var(--quickhop-secondary);
}

.quickhop-field input,
.quickhop-field select,
.quickhop-field textarea {
  width: 100%;
  padding: 0.92rem 1rem;
  border-radius: 14px;
  border: 1px solid var(--quickhop-border);
  font-size: 1rem;
  background: #fff;
}

.quickhop-field textarea { min-height: 120px; resize: vertical; }

.quickhop-inline-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.driver-profile-grid-wrap {
  width: 100%;
}

.driver-profile-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) minmax(360px, 1.05fr);
  gap: 1.5rem;
  align-items: start;
}

.driver-grid-section {
  padding: 0;
}

.driver-grid-section .driver-panel {
  height: 100%;
}

.driver-account-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}

.driver-account-grid .quickhop-field--full {
  grid-column: 1 / -1;
}

.driver-account-grid input[disabled],
.driver-account-grid input[readonly] {
  background: #fff8f3;
  color: #8a5a45;
}

.driver-trip-wrapper {
  width: 100%;
}

.driver-section-block {
  width: 100%;
}

.driver-section-block + .driver-section-block {
  margin-top: 0.5rem;
}

.driver-sections {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, 0.9fr);
  gap: 1.5rem;
  align-items: start;
}

.driver-standalone-section {
  padding: 0;
}

.driver-standalone-section + .driver-standalone-section {
  margin-top: 1.5rem;
}

.driver-panel {
  background: #ffffff;
  border: 1px solid rgba(255, 217, 194, 0.90);
  border-radius: 24px;
  box-shadow: var(--quickhop-shadow);
  padding: 1.6rem;
}

.driver-panel__header {
  display: grid;
  gap: 0.9rem;
}

.driver-panel__kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  background: #ffe0cc;
  color: var(--quickhop-primary);
  font-size: 0.95rem;
  font-weight: 700;
}

.driver-panel__title {
  margin: 0;
  font-size: clamp(1.7rem, 2.4vw, 2.35rem);
  line-height: 1.15;
  color: var(--quickhop-secondary);
}

.driver-panel__lead {
  margin: 0;
  color: var(--quickhop-muted);
  font-size: 1rem;
  line-height: 1.7;
}

.driver-panel__summary {
  margin-top: 1.25rem;
  padding: 0.95rem 1rem;
  border: 1px solid #ffe0cc;
  border-radius: 16px;
  background: #fff8f3;
  color: var(--quickhop-secondary);
  font-weight: 700;
}

.driver-panel__body {
  margin-top: 1.25rem;
}

.child-list {
  display: grid;
  gap: 1rem;
  margin-top: 0;
}

.child-item {
  padding: 1.15rem;
  border: 1px solid var(--quickhop-border);
  border-radius: 18px;
  background: #fff;
}

.child-item__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.child-item__name {
  margin: 0;
  font-size: 1.2rem;
  color: var(--quickhop-secondary);
}

.child-item__meta {
  margin: 0.35rem 0 0;
  color: var(--quickhop-muted);
}

.child-item__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 1rem;
}

.child-item__detail {
  padding: 0.9rem 1rem;
  border-radius: 14px;
  background: #fff8f3;
  border: 1px solid #ffd9c2;
}

.child-item__label {
  display: inline-block;
  margin-bottom: 0.35rem;
  color: var(--quickhop-secondary);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.child-item__detail p,
.child-item__note {
  margin: 0;
}

.child-item__actions {
  margin-top: 1rem;
  align-items: center;
}

.child-item__note {
  margin-top: 0.85rem;
  color: var(--quickhop-muted);
  line-height: 1.65;
}

.driver-empty-state {
  padding: 1rem 1.1rem;
  border-radius: 16px;
  background: #fff8f3;
  border: 1px dashed #ffc39a;
}

.driver-empty-state p {
  margin: 0;
}

.driver-help-list {
  display: grid;
  gap: 1rem;
  margin-top: 1.25rem;
}

.driver-help-step {
  padding: 1rem 1.05rem;
  border-radius: 18px;
  background: #fff8f3;
  border: 1px solid #ffe0cc;
}

.driver-help-step strong {
  display: inline-block;
  margin-bottom: 0.35rem;
  color: var(--quickhop-primary);
}

.driver-help-step p {
  margin: 0;
  color: var(--quickhop-muted);
}


.quickhop-results {
  margin-top: 1.25rem;
  padding: 1.25rem;
  border-radius: 18px;
  background: #a6a6a6;
  color: #fff;
}

.quickhop-results--error {
  background: #e12b2b;
}

.quickhop-results__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.quickhop-results__item {
  padding: 1rem;
  border-radius: 16px;
  background: rgba(166,166,166,0.10);
}

.quickhop-results__item strong {
  display: block;
  font-size: 1.1rem;
  margin-top: 0.25rem;
}

.quickhop-map,
.quickhop-tracking-map {
  width: 100%;
  min-height: 380px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--quickhop-border);
}

.quickhop-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: #fff0e5;
  color: #b23b00;
  border-radius: 999px;
  padding: 0.5rem 0.8rem;
  font-weight: 700;
  font-size: 0.9rem;
}

.quickhop-status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.9rem;
}
.quickhop-status--inactive { background: #ffd9c2; color: #8a5a45; }
.quickhop-status--active { background: #ffe8d9; color: #b23b00; }
.quickhop-status--panic { background: #ffe0e0; color: #c62828; }

.notice,
.quickhop-notice {
  padding: 1rem 1.1rem;
  border-radius: 16px;
  margin-bottom: 1rem;
  border: 1px solid transparent;
}

.notice-success,
.quickhop-notice--success {
  background: #ecfdf5;
  color: #b23b00;
  border-color: #ffd1b0;
}

.notice-error,
.quickhop-notice--error {
  background: #fff0f0;
  color: #c62828;
  border-color: #ffc4c4;
}

.profile-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.quickhop-share-code {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px dashed #ffb37f;
  border-radius: 16px;
  background: #fff8f3;
}

.quickhop-share-code__value {
  display: inline-flex;
  align-items: center;
  margin: 0.35rem 0 0.65rem;
  padding: 0.75rem 1rem;
  border-radius: 14px;
  border: 1px solid #ffc39a;
  background: #fff;
  color: var(--quickhop-secondary);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.quickhop-share-code__value--inline {
  margin: 0;
  padding: 0.45rem 0.7rem;
  font-size: 0.92rem;
}


.profile-summary {
  padding: 1.5rem;
  background: linear-gradient(135deg, #a6a6a6, #56cbff);
  color: #fff;
  border-radius: var(--quickhop-radius);
}

.profile-summary h2,
.profile-summary p,
.profile-summary li { color: #fff; }


.quickhop-record-browser {
  display: grid;
  gap: 1.25rem;
  margin-top: 1rem;
}

.quickhop-record-browser__field {
  max-width: 520px;
}

.quickhop-record-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 3.2rem !important;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--quickhop-primary) 50%),
    linear-gradient(135deg, var(--quickhop-primary) 50%, transparent 50%),
    linear-gradient(to right, rgba(86,203,255,0.10), rgba(166,166,166,0.04));
  background-position:
    calc(100% - 22px) calc(50% - 3px),
    calc(100% - 16px) calc(50% - 3px),
    100% 0;
  background-size: 6px 6px, 6px 6px, 3rem 100%;
  background-repeat: no-repeat;
  color: var(--quickhop-secondary);
  box-shadow: 0 10px 30px rgba(166,166,166,0.06);
}

.quickhop-record-select:focus {
  outline: none;
  border-color: var(--quickhop-primary);
  box-shadow: 0 0 0 3px rgba(86,203,255,0.15);
}

.quickhop-record-panels {
  display: grid;
  gap: 1rem;
}

.quickhop-record-panel {
  padding: 1.25rem;
  border-radius: 20px;
  border: 1px solid rgba(86,203,255,0.12);
  background: linear-gradient(180deg, rgba(248,250,252,0.96), #ffffff 60%);
  box-shadow: var(--quickhop-shadow);
}

.quickhop-record-panel__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.quickhop-record-panel__header h3 {
  margin: 0;
  color: var(--quickhop-secondary);
}

.quickhop-record-panel__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--quickhop-primary);
}

.quickhop-record-panel__grid .table-like__row {
  align-items: start;
}

.quickhop-record-panel__grid .table-like__row strong {
  color: var(--quickhop-secondary);
  text-align: right;
}

.quickhop-record-panel__form {
  margin-top: 1.25rem;
  padding-top: 1.1rem;
  border-top: 1px dashed var(--quickhop-border);
}

.site-footer {
  margin-top: 2rem;
  border-top: 1px solid rgba(255, 217, 194, 0.85);
  background: #fff;
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 1.25rem;
  width: 100%;
}

.site-footer h4 {
  margin: 0 0 0.75rem;
}

.table-like {
  display: grid;
  gap: 0.75rem;
}

.table-like__row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px dashed var(--quickhop-border);
}

.quickhop-loading {
  opacity: 0.7;
  pointer-events: none;
}

.hidden { display: none !important; }

@media (max-width: 960px) {
  .hero__grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .profile-card,
  .site-footer__grid,
  .quickhop-results__grid,
  .quickhop-form-grid,
  .driver-profile-grid,
  .driver-account-grid,
  .driver-sections,
  .child-item__details {
    grid-template-columns: 1fr;
  }

  .child-item__header {
    flex-direction: column;
  }

  .site-header__inner {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Quick At style header and auth screens */
body {
  background: #fff4ec;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #ffffff;
  border-bottom: 1px solid #ffd9c2;
  backdrop-filter: none;
}

.site-header__inner {
  min-height: 92px;
}

.branding {
  color: #56cbff;
  text-decoration: none;
}

.branding:hover {
  text-decoration: none;
}

.branding__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  flex-shrink: 0;
}

.branding__mark .custom-logo-link,
.branding__mark .custom-logo {
  display: block;
  width: 52px;
  height: 52px;
}

.branding__mark .custom-logo {
  width: 52px;
  height: 52px;
  object-fit: contain;
  border-radius: 12px;
}

.branding__icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  object-fit: cover;
}

.branding__logo {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #ffe8d9;
  color: #56cbff;
  display: grid;
  place-items: center;
  font-size: 1.45rem;
  font-weight: 800;
}

.branding__title {
  color: #56cbff;
  font-size: 1.05rem;
  font-weight: 700;
}

.primary-nav__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 1rem;
}

.quickhop-header-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-width: 104px;
  min-height: 50px;
  padding: 0.85rem 1.2rem;
  border: 1px solid #ffd9c2;
  border-radius: 16px;
  background: #ffffff;
  color: #5a2a1a;
  font-size: 1rem;
  font-weight: 500;
  box-shadow: none;
  cursor: pointer;
}

.quickhop-header-button:hover {
  transform: none;
  text-decoration: none;
  background: #fffaf7;
}

.quickhop-header-button--ghost {
  background: #ffffff;
}

.quickhop-header-button--install {
  background: #56cbff;
  border-color: #56cbff;
  color: #ffffff;
}

.quickhop-header-button--install:hover {
  background: #e12b2b;
}

.primary-nav__dropdown {
  position: relative;
}

.primary-nav__dropdown summary {
  list-style: none;
}

.primary-nav__dropdown summary::-webkit-details-marker {
  display: none;
}

.primary-nav__dropdown::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 18px;
}

.primary-nav__dropdown[open] .primary-nav__panel,
.primary-nav__dropdown:hover .primary-nav__panel,
.primary-nav__dropdown:focus-within .primary-nav__panel {
  display: grid;
}

.primary-nav__panel {
  display: none;
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  min-width: 280px;
  padding: 0.5rem;
  border-radius: 16px;
  border: 1px solid #ffd9c2;
  background: #ffffff;
  box-shadow: 0 18px 36px rgba(166,166,166,0.14);
  z-index: 100;
}

.primary-nav__menu-link {
  display: block;
  padding: 0.85rem 0.95rem;
  color: #5a2a1a;
  font-weight: 500;
  border-radius: 12px;
}

.primary-nav__menu-link:hover {
  background: #fff0e5;
  color: #56cbff;
  text-decoration: none;
}

.primary-nav__chevron {
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}

.quickhop-auth-page {
  padding: 2rem 0 3rem;
}

.quickhop-auth-shell {
  max-width: 690px;
  margin: 0 auto;
}

.quickhop-auth-card {
  background: #ffffff;
  border: 1px solid #ffd9c2;
  border-radius: 28px;
  box-shadow: 0 16px 40px rgba(166,166,166,0.10);
  padding: 2.8rem 3rem 2.2rem;
}

.quickhop-auth-title {
  margin: 0 0 1.25rem;
  color: #5a2a1a;
  font-size: clamp(2.1rem, 4vw, 3.1rem);
  line-height: 1.05;
  font-weight: 800;
}

.quickhop-auth-subtitle {
  margin: 0 0 1.75rem;
  color: #8a5a45;
  font-size: 1rem;
}

.quickhop-auth-form {
  display: grid;
  gap: 1rem;
}

.quickhop-auth-field {
  display: grid;
  gap: 0.55rem;
}

.quickhop-auth-field label {
  color: #8a5a45;
  font-size: 0.95rem;
  font-weight: 500;
}

.quickhop-auth-field input {
  width: 100%;
  min-height: 58px;
  padding: 0.95rem 1.15rem;
  border: 1px solid #ffd9c2;
  border-radius: 18px;
  background: #ffffff;
  color: #5a2a1a;
  font-size: 1rem;
  outline: none;
  box-shadow: none;
}

.quickhop-auth-field input:focus {
  border-color: #ffb37f;
  box-shadow: 0 0 0 4px rgba(166,166,166,0.18);
}

.quickhop-auth-check {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 0.15rem;
  color: #8a5a45;
  font-size: 0.95rem;
}

.quickhop-auth-check input {
  width: 20px;
  height: 20px;
}

.quickhop-auth-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  border: 1px solid #ffb37f;
  border-radius: 18px;
  background: #fff0e5;
  color: #5a2a1a;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  box-shadow: none;
}

.quickhop-auth-button:hover {
  background: #ffe0cc;
  transform: none;
}

.quickhop-auth-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 0.25rem;
}

.quickhop-auth-links--single {
  grid-template-columns: 1fr;
}

.quickhop-auth-links a,
.quickhop-auth-link-inline {
  color: #56cbff;
  font-size: 0.95rem;
  font-weight: 500;
}

.quickhop-auth-alert {
  margin-bottom: 1rem;
  padding: 0.95rem 1.05rem;
  border-radius: 16px;
}

.quickhop-auth-alert p {
  margin: 0.2rem 0;
}

.quickhop-auth-alert--error {
  background: #fff0f0;
  border: 1px solid #ffc4c4;
  color: #c62828;
}

.quickhop-auth-alert--success {
  background: #fff3ea;
  border: 1px solid #ffd1b0;
  color: #b23b00;
}

.quickhop-auth-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

@media (max-width: 760px) {
  .site-header__inner {
    flex-direction: column;
    align-items: stretch;
  }

  .branding {
    justify-content: center;
  }

  .primary-nav__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
    justify-content: center;
  }

  .primary-nav__panel {
    left: 0;
    right: auto;
    min-width: 100%;
  }

  .quickhop-auth-card {
    padding: 2rem 1.25rem 1.5rem;
    border-radius: 22px;
  }

  .quickhop-auth-links {
    grid-template-columns: 1fr;
  }
}


/* Quick At auth refresh */
.quickhop-auth-page {
  padding: 2rem 0 4rem;
}

.quickhop-auth-shell {
  max-width: 760px;
  margin: 0 auto;
}

.quickhop-auth-card {
  max-width: 670px;
  margin: 0 auto;
  padding: 2.4rem 2.7rem 2rem;
  border-radius: 30px;
  border: 1px solid #ffd9c2;
  box-shadow: 0 18px 42px rgba(166,166,166,0.10);
}

.quickhop-auth-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0 0 1.5rem;
}

.quickhop-auth-switch__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0.85rem 1rem;
  border: 1px solid #ffd9c2;
  border-radius: 16px;
  background: #ffffff;
  color: #5a2a1a;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
}

.quickhop-auth-switch__item:hover {
  background: #fffaf7;
  text-decoration: none;
}

.quickhop-auth-switch__item.is-active {
  border-color: #ffb37f;
  background: #fff0e5;
}

.quickhop-auth-title {
  margin-bottom: 1.1rem;
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.03em;
}

.quickhop-auth-subtitle {
  margin-bottom: 1.4rem;
  max-width: 36rem;
}

.quickhop-auth-form {
  gap: 0.95rem;
}

.quickhop-auth-field label {
  font-size: 0.96rem;
  color: #8a5a45;
}

.quickhop-auth-field input {
  min-height: 60px;
  border-radius: 18px;
  border-color: #ffd9c2;
}

.quickhop-auth-button {
  min-height: 58px;
  border-radius: 18px;
  background: #fff0e5;
  border-color: #8fc4f2;
  font-size: 1rem;
}

.quickhop-auth-links {
  margin-top: 0.1rem;
}

.quickhop-auth-role-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  margin-top: 1.1rem;
}

.quickhop-auth-role-link {
  color: #56cbff;
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
}

.quickhop-auth-role-link.is-active {
  color: #5a2a1a;
}

.quickhop-auth-role-link:hover {
  text-decoration: underline;
}

@media (max-width: 760px) {
  .quickhop-auth-page {
    padding: 1.5rem 0 3rem;
  }

  .quickhop-auth-card {
    padding: 1.5rem 1.2rem 1.35rem;
    border-radius: 24px;
  }

  .quickhop-auth-switch {
    gap: 0.55rem;
  }

  .quickhop-auth-switch__item,
  .quickhop-auth-button,
  .quickhop-auth-field input {
    min-height: 54px;
  }
}


@media (max-width: 768px) {
  .primary-nav__actions {
    gap: 0.75rem;
  }

  .quickhop-header-button {
    min-width: auto;
    padding: 0.8rem 1rem;
  }
}

/* Front page redesign inspired by supplied mockup */
.quickhop-front-page {
  display: grid;
  gap: 3rem;
  padding-bottom: 3rem;
}

.quickhop-mockup-hero img {
  display: block;
  width: 100%;
  border-radius: 0;
  border: 0;
}

.quickhop-mockup-panels {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 2.4rem;
  align-items: start;
}

.quickhop-front-panel {
  position: relative;
  min-height: 100%;
}

.quickhop-front-panel__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  margin: 0 auto -1.15rem;
  padding: 0.95rem 1.8rem;
  border: 2px solid #b88b77;
  border-radius: 999px;
  background: #fffaf7;
  color: #4a2b21;
  font-size: 1.15rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  position: relative;
  z-index: 2;
}

.quickhop-front-panel__label--left {
  margin-left: 1.7rem;
  margin-right: auto;
  border-radius: 0;
  min-width: 250px;
  justify-content: flex-start;
  padding-left: 2.8rem;
}

.quickhop-front-panel__label--left::before {
  content: '';
  position: absolute;
  width: 32px;
  height: 32px;
  background: #56cbff;
  border: 2px solid #6d6d6d;
  left: -18px;
  top: 50%;
  transform: translateY(-50%);
}

.quickhop-front-panel__body {
  min-height: 100%;
  padding: 2.2rem 1.3rem 1.4rem;
  border: 2px solid #d6b2a0;
  background: #fff9f6;
}

.quickhop-front-panel--about .quickhop-front-panel__body {
  min-height: 520px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 2rem;
}

.quickhop-front-panel__body--about p {
  margin: 0;
  max-width: 280px;
  color: #4a2b21;
  font-size: 1.1rem;
  line-height: 1.8;
}

.quickhop-front-panel--calculator .quickhop-calculator {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.quickhop-front-panel--calculator .quickhop-calculator .section-kicker {
  display: none;
}

.quickhop-front-panel--calculator .quickhop-calculator .section-title {
  margin-bottom: 0.75rem;
  color: #6a4638;
  font-size: clamp(1.7rem, 2.6vw, 2.25rem) !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-shadow: 1px 1px 0 #ffffff, 2px 2px 0 rgba(90,42,26,0.18);
}

.quickhop-front-panel--calculator .quickhop-calculator .section-lead {
  font-size: 0.98rem;
  color: #7b5a4a;
}

.quickhop-front-panel--calculator .quickhop-field input,
.quickhop-front-panel--calculator .quickhop-field select,
.quickhop-front-panel--calculator .quickhop-field textarea {
  background: #ffffff;
  border: 1px solid #edd5c7;
  border-radius: 12px;
}

.quickhop-front-panel--calculator .quickhop-button,
.quickhop-front-panel--calculator button {
  border-radius: 14px;
  box-shadow: none;
}

.quickhop-front-panel--calculator .quickhop-results {
  border-radius: 16px;
}

.quickhop-front-panel--calculator .quickhop-map {
  min-height: 260px;
  margin-top: 1rem;
}

.quickhop-mockup-section {
  display: grid;
  justify-items: center;
  gap: 2rem;
}

.quickhop-mockup-title {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(100%, 520px);
  padding: 0.9rem 2rem;
  border: 2px solid #b88b77;
  background: #e7ccbc;
  color: #56cbff;
  font-size: clamp(1.55rem, 2.7vw, 2.35rem);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  text-align: center;
  text-shadow: 1px 1px 0 #ffffff, 2px 2px 0 rgba(90,42,26,0.24);
}

.quickhop-mockup-title--stacked {
  flex-direction: column;
  gap: 0.1rem;
}

.quickhop-feature-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.2rem;
}

.quickhop-feature-card {
  background: #fff0d9;
  border: 2px solid #b88b77;
  box-shadow: none;
  border-radius: 0;
  overflow: hidden;
}

.quickhop-feature-card__image {
  padding: 0.7rem 0.7rem 0;
}

.quickhop-feature-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: 2px solid #7f7f7f;
}

.quickhop-feature-card__content {
  padding: 0.95rem 1rem 1.25rem;
  text-align: center;
}

.quickhop-feature-card__content h3 {
  margin: 0 0 0.45rem;
  color: #4a2b21;
  font-size: 1.1rem;
}

.quickhop-feature-card__content p {
  margin: 0;
  color: #4a2b21;
  font-size: 0.96rem;
  line-height: 1.45;
}

.quickhop-policies-layout {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 1fr);
  gap: 3rem;
  align-items: start;
}

.quickhop-policies-copy {
  padding-top: 0.6rem;
}

.quickhop-policies-copy p {
  margin: 0 0 1.6rem;
  color: #4a2b21;
  font-size: clamp(1.2rem, 2vw, 1.9rem);
  line-height: 1.3;
}

.quickhop-policies-rules {
  display: grid;
  gap: 1rem;
}

.quickhop-policy-rule {
  padding: 1rem 1.5rem;
  border: 2px solid rgba(0, 0, 0, 0.32);
  color: #232323;
  font-weight: 700;
  text-align: center;
}

.quickhop-policy-rule--one { background: #56cbff; }
.quickhop-policy-rule--two { background: #a6a6a6; }
.quickhop-policy-rule--three { background: #e0a3cf; }
.quickhop-policy-rule--four { background: #8b78e8; }

.quickhop-company-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  border: 2px solid #ffe9c9;
}

.quickhop-company-card {
  background: #ffe6d5;
  border-right: 2px solid #ffe9c9;
  border-bottom: 2px solid #ffe9c9;
  min-height: 190px;
}

.quickhop-company-card:nth-child(1) {
  grid-column: span 2;
}

.quickhop-company-card:nth-child(2) {
  grid-column: span 4;
}

.quickhop-company-card:nth-child(3),
.quickhop-company-card:nth-child(4),
.quickhop-company-card:nth-child(5) {
  grid-column: span 2;
}

.quickhop-company-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.site-footer {
  margin-top: 0;
  border-top: 0;
  background: #fff8f3;
}

.site-footer__inner {
  padding-top: 2.6rem;
  padding-bottom: 2rem;
}

.site-footer__grid {
  grid-template-columns: 1.2fr 1fr 1fr;
  align-items: start;
}

.site-footer .branding {
  align-items: center;
}

.site-footer .branding__logo {
  border-radius: 0;
  background: transparent;
  color: #56cbff;
  border: 0;
  width: auto;
}

.site-footer h4,
.site-footer a,
.site-footer p {
  color: #5a2a1a;
}

.site-footer .muted {
  color: #5a2a1a;
}

.site-footer .quickhop-button {
  box-shadow: none;
}

@media (max-width: 960px) {
  .quickhop-mockup-panels,
  .quickhop-feature-grid,
  .quickhop-policies-layout {
    grid-template-columns: 1fr;
  }

  .quickhop-company-grid {
    grid-template-columns: 1fr 1fr;
  }

  .quickhop-company-card,
  .quickhop-company-card:nth-child(1),
  .quickhop-company-card:nth-child(2),
  .quickhop-company-card:nth-child(3),
  .quickhop-company-card:nth-child(4),
  .quickhop-company-card:nth-child(5) {
    grid-column: span 1;
    min-height: 170px;
  }

  .quickhop-front-panel__label--left {
    min-width: auto;
    width: calc(100% - 2rem);
    margin-left: 1rem;
  }

  .quickhop-front-panel--about .quickhop-front-panel__body {
    min-height: 300px;
  }
}

@media (max-width: 680px) {
  .quickhop-front-page {
    gap: 2rem;
  }

  .quickhop-mockup-title {
    min-width: 100%;
    padding: 0.85rem 1rem;
  }

  .quickhop-feature-grid,
  .quickhop-company-grid {
    grid-template-columns: 1fr;
  }

  .quickhop-feature-card {
    max-width: 360px;
    margin: 0 auto;
  }

  .quickhop-company-card,
  .quickhop-company-card:nth-child(1),
  .quickhop-company-card:nth-child(2),
  .quickhop-company-card:nth-child(3),
  .quickhop-company-card:nth-child(4),
  .quickhop-company-card:nth-child(5) {
    grid-column: span 1;
  }

  .quickhop-front-panel__body {
    padding: 2.1rem 1rem 1.1rem;
  }

  .quickhop-front-panel--calculator .quickhop-inline-actions {
    flex-direction: column;
  }

  .quickhop-front-panel--calculator .quickhop-inline-actions > * {
    width: 100%;
  }
}

/* Inner pages updated to match the mockup style used on the front page */
.quickhop-site-content {
  padding-top: 1.5rem;
}

.site-footer__copyright {
  padding-bottom: 1.25rem;
}

.site-footer__copyright-text {
  margin: 0;
}

.quickhop-card-shell {
  max-width: 760px;
  margin: 0 auto;
}

.quickhop-section-grid {
  align-items: start;
}

.quickhop-page-title {
  color: #4a2b21;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-shadow: 1px 1px 0 #ffffff, 2px 2px 0 rgba(90,42,26,0.18);
}

.quickhop-page-title--small {
  font-size: clamp(1.35rem, 2.2vw, 1.8rem) !important;
}

.quickhop-avatar-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.quickhop-profile-avatar {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 999px;
  border: 4px solid rgba(166,166,166,0.10);
  box-shadow: 0 12px 32px rgba(166,166,166,0.10);
  background: #ffffff;
}

.quickhop-profile-avatar--small {
  width: 72px;
  height: 72px;
  border-width: 3px;
}

.quickhop-profile-avatar--card {
  width: 64px;
  height: 64px;
  border-width: 3px;
}

.quickhop-field--avatar {
  width: 100%;
  max-width: 360px;
}

.quickhop-inline-actions--spaced {
  margin-top: 1rem;
}

.quickhop-inline-actions--panel {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.quickhop-inline-actions--space-lg {
  margin-top: 1.5rem;
}

.quickhop-utility-card {
  margin-top: 1.5rem;
  padding: 1.25rem;
  background: #fff9f6;
  border: 1px solid rgba(166,166,166,0.10);
  box-shadow: none;
}

.quickhop-driver-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
}

.quickhop-record-card {
  padding: 1.25rem;
  border-radius: 20px;
  border: 1px solid rgba(86,203,255,0.12);
  background: linear-gradient(180deg, rgba(248,250,252,0.96), #ffffff 60%);
  box-shadow: var(--quickhop-shadow);
}

.quickhop-table-wrap {
  overflow-x: auto;
  margin-top: 1rem;
}

.quickhop-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.quickhop-table th,
.quickhop-table td {
  padding: 0.75rem;
  text-align: left;
  border-bottom: 1px solid rgba(166,166,166,0.10);
  vertical-align: middle;
}

.quickhop-table td input[type='time'],
.quickhop-table td input[type='text'] {
  width: 100%;
}

.qh-trip-planner-wrap {
  padding-bottom: 1.5rem;
}

.qh-trip-planner-card {
  display: grid;
  gap: 1.5rem;
}

.qh-trip-planner-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 1rem;
}

.qh-trip-planner-toolbar__field {
  min-width: min(100%, 260px);
}

.qh-trip-planner-toolbar__actions {
  margin-top: 0;
}

.qh-trip-planner-form {
  display: grid;
  gap: 1.5rem;
}

.qh-trip-planner-section {
  padding: 1.5rem;
}

.qh-trip-toggle-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}

.qh-trip-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--quickhop-secondary);
  font-weight: 600;
}

.qh-trip-toggle--stacked {
  display: flex;
}

.qh-trip-day-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}

.qh-trip-day-card {
  padding: 1rem;
  border: 1px solid rgba(166,166,166,0.10);
  border-radius: 18px;
  background: #fff9f6;
}

.qh-trip-day-card h3 {
  margin: 0 0 0.9rem;
  color: var(--quickhop-secondary);
}

.qh-trip-day-card__fields {
  display: grid;
  gap: 0.9rem;
}

.qh-trip-debug pre {
  margin: 0;
  white-space: pre-wrap;
  background: #a6a6a6;
  color: #ffd9c2;
  padding: 1rem;
  border-radius: 16px;
  overflow: auto;
}

body:not(.home) {
  background: #fff8f3;
}

body:not(.home) .card,
body:not(.home) .driver-panel,
body:not(.home) .quickhop-record-panel,
body:not(.home) .quickhop-record-card,
body:not(.home) .child-item,
body:not(.home) .quickhop-auth-card,
body:not(.home) .profile-summary,
body:not(.home) .quickhop-share-code,
body:not(.home) .quickhop-results,
body:not(.home) .qh-trip-day-card {
  background: #fff9f6;
  border: 2px solid #d6b2a0;
  border-radius: 0;
  box-shadow: none;
}

body:not(.home) .section-kicker,
body:not(.home) .quickhop-auth-switch__item.is-active {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 1.35rem;
  border: 2px solid #b88b77;
  border-radius: 0;
  background: #e7ccbc;
  color: #56cbff;
  text-transform: uppercase;
  font-weight: 900;
  line-height: 1;
  text-shadow: 1px 1px 0 #ffffff, 2px 2px 0 rgba(90,42,26,0.24);
}

body:not(.home) .section-title,
body:not(.home) .quickhop-auth-title {
  color: #4a2b21;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-shadow: 1px 1px 0 #ffffff, 2px 2px 0 rgba(90,42,26,0.18);
}

body:not(.home) .section-lead,
body:not(.home) .quickhop-auth-subtitle,
body:not(.home) .meta,
body:not(.home) .muted,
body:not(.home) .card p,
body:not(.home) .card li {
  color: #6a4638;
}

body:not(.home) .quickhop-button,
body:not(.home) button,
body:not(.home) input[type='submit'],
body:not(.home) .quickhop-auth-button {
  border: 2px solid #6d6d6d;
  border-radius: 8px;
  background: #56cbff;
  color: #4a2b21111;
  box-shadow: none;
  text-transform: uppercase;
}

body:not(.home) .quickhop-button:hover,
body:not(.home) button:hover,
body:not(.home) input[type='submit']:hover,
body:not(.home) .quickhop-auth-button:hover {
  background: #40b5ec;
  transform: none;
}

body:not(.home) .quickhop-button--ghost,
body:not(.home) .quickhop-auth-switch__item,
body:not(.home) .quickhop-header-button {
  background: #fffaf7;
  color: #4a2b21111;
}

body:not(.home) .quickhop-button--success {
  background: #98d88c;
}

body:not(.home) .quickhop-button--danger {
  background: #f5a7a7;
}

body:not(.home) .quickhop-field input,
body:not(.home) .quickhop-field select,
body:not(.home) .quickhop-field textarea,
body:not(.home) .quickhop-auth-field input,
body:not(.home) .quickhop-auth-field select,
body:not(.home) .qh-trip-day-card input,
body:not(.home) .quickhop-table input,
body:not(.home) .quickhop-table select {
  border-radius: 8px;
  border: 1px solid #edd5c7;
  background: #ffffff;
  box-shadow: none;
}

body:not(.home) .quickhop-pill,
body:not(.home) .quickhop-status {
  border-radius: 0;
  border: 2px solid rgba(90,42,26,0.18);
}

body:not(.home) .quickhop-map,
body:not(.home) .quickhop-tracking-map {
  border-radius: 0;
  border: 2px solid #d6b2a0;
  background: #ffffff;
  box-shadow: none;
}

body:not(.home) .table-like__row {
  border-bottom: 1px solid rgba(15, 23, 42, 0.12);
}

body:not(.home) .quickhop-auth-switch__item {
  border-radius: 0;
  border: 2px solid #d6b2a0;
}

body:not(.home) .qh-trip-day-card,
body:not(.home) .quickhop-utility-card {
  background: #fff9f6;
}

@media (max-width: 960px) {
  .qh-trip-planner-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (max-width: 680px) {
  .quickhop-table {
    min-width: 640px;
  }
}

/* Mobile optimisation pass */
.quickhop-toggle-option {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.quickhop-record-heading {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
}

.quickhop-record-heading--top {
  align-items: flex-start;
}

.quickhop-avatar-status {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 1rem 0;
}

.quickhop-table--compact {
  min-width: 760px;
}

.quickhop-table--compact th,
.quickhop-table--compact td {
  padding: 0.75rem;
}

.quickhop-table--compact td {
  border-bottom: 1px solid rgba(166,166,166,.08);
}

.quickhop-table--compact th {
  border-bottom: 1px solid rgba(166,166,166,.10);
}

.quickhop-table--compact input[type='time'],
.quickhop-table--compact input[type='text'] {
  width: 100%;
}

@media (max-width: 900px) {
  .site-header__inner {
    min-height: auto;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }

  .primary-nav,
  .primary-nav__actions,
  .quickhop-user-menu {
    width: 100%;
  }

  .primary-nav__actions {
    justify-content: stretch;
  }

  .primary-nav__actions > * {
    flex: 1 1 100%;
  }

  .quickhop-header-button,
  .quickhop-user-menu__toggle {
    width: 100%;
    min-width: 0;
  }

  .quickhop-user-menu__panel {
    left: 0;
    right: 0;
    min-width: 0;
    width: 100%;
  }

  .hero,
  .section {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }

  .card,
  .driver-panel,
  .quickhop-record-panel,
  .quickhop-record-card,
  .quickhop-auth-card,
  .profile-summary,
  .quickhop-share-code,
  .quickhop-results,
  .qh-trip-day-card,
  .qh-trip-planner-section {
    padding: 1.15rem;
  }

  .quickhop-map,
  .quickhop-tracking-map {
    min-height: 320px;
  }

  .quickhop-inline-actions {
    width: 100%;
  }

  .quickhop-inline-actions > * {
    flex: 1 1 auto;
  }

  .site-footer__grid {
    gap: 1.5rem;
  }
}

@media (max-width: 680px) {
  .quickhop-container {
    width: min(100% - 1rem, var(--quickhop-max));
  }

  body {
    overflow-x: hidden;
  }

  .quickhop-site-content {
    padding-top: 1rem;
  }

  .hero,
  .section,
  .quickhop-auth-page {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .hero h1,
  .section-title,
  .quickhop-page-title,
  .quickhop-auth-title {
    line-height: 1.08;
  }

  .hero__copy,
  .hero__panel,
  .quickhop-calculator,
  .card,
  .driver-panel,
  .quickhop-record-panel,
  .quickhop-record-card,
  .quickhop-auth-card,
  .profile-summary,
  .quickhop-share-code,
  .quickhop-results,
  .qh-trip-day-card,
  .qh-trip-planner-section,
  .quickhop-front-panel__body {
    padding: 1rem;
  }

  .section-kicker,
  body:not(.home) .section-kicker,
  body:not(.home) .quickhop-auth-switch__item.is-active {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-left: 1rem;
    padding-right: 1rem;
    text-align: center;
  }

  .quickhop-front-panel__label,
  .quickhop-front-panel__label--left {
    width: calc(100% - 1rem);
    min-width: 0;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
    text-align: center;
    padding: 0.75rem 1rem;
    font-size: 1rem;
  }

  .quickhop-front-panel__label--left {
    padding-left: 1rem;
  }

  .quickhop-front-panel__label--left::before {
    position: static;
    transform: none;
    width: 20px;
    height: 20px;
    margin-right: 0.6rem;
    flex-shrink: 0;
  }

  .quickhop-front-panel--about .quickhop-front-panel__body {
    min-height: 240px;
    padding: 1.5rem 1rem;
  }

  .quickhop-mockup-title {
    font-size: clamp(1.15rem, 6vw, 1.45rem);
    line-height: 1.1;
  }

  .quickhop-policies-copy p {
    font-size: 1.05rem;
    line-height: 1.45;
    margin-bottom: 1rem;
  }

  .quickhop-policy-rule {
    padding: 0.85rem 1rem;
  }

  .quickhop-company-card {
    min-height: 140px;
  }

  .branding {
    justify-content: flex-start;
  }

  .primary-nav__actions {
    gap: 0.6rem;
  }

  .quickhop-header-button,
  .quickhop-user-menu__toggle,
  .quickhop-auth-button {
    min-height: 50px;
    padding: 0.8rem 1rem;
  }

  .quickhop-user-menu__panel {
    position: static;
    margin-top: 0.55rem;
    box-shadow: none;
  }

  .quickhop-auth-switch {
    grid-template-columns: 1fr;
  }

  .quickhop-auth-role-links {
    gap: 0.5rem 0.75rem;
  }

  .quickhop-inline-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .quickhop-inline-actions > * {
    width: 100%;
  }

  .quickhop-toggle-option {
    align-items: flex-start;
  }

  .quickhop-toggle-option input[type='checkbox'],
  .qh-trip-toggle input[type='checkbox'] {
    margin-top: 0.15rem;
  }

  .quickhop-record-heading,
  .quickhop-avatar-status,
  .child-item__header,
  .quickhop-record-panel__header {
    flex-direction: column;
    align-items: flex-start;
  }

  .child-item__details,
  .hero__stats,
  .quickhop-results__grid {
    grid-template-columns: 1fr;
  }

  .quickhop-map,
  .quickhop-tracking-map {
    min-height: 260px;
  }

  .table-like__row,
  .quickhop-record-panel__header {
    gap: 0.5rem;
  }

  .table-like__row strong,
  .quickhop-record-panel__grid .table-like__row strong {
    text-align: left;
  }

  .site-footer__inner {
    padding-top: 1.75rem;
    padding-bottom: 1.25rem;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .site-footer .branding {
    align-items: center;
  }
}

@media (max-width: 480px) {
  .branding__title {
    font-size: 1rem;
  }

  .branding__mark,
  .branding__mark .custom-logo-link,
  .branding__mark .custom-logo,
  .branding__icon,
  .branding__logo {
    width: 44px;
    height: 44px;
  }

  .quickhop-page-title,
  .section-title,
  .quickhop-auth-title {
    font-size: clamp(1.45rem, 7vw, 1.85rem) !important;
  }

  .section-lead,
  .hero p,
  .quickhop-auth-subtitle,
  .quickhop-front-panel__body--about p {
    font-size: 0.96rem;
    line-height: 1.6;
  }

  .quickhop-form-grid,
  .driver-account-grid {
    gap: 0.85rem;
  }

  .quickhop-field input,
  .quickhop-field select,
  .quickhop-field textarea,
  .quickhop-auth-field input {
    padding: 0.85rem 0.9rem;
    font-size: 0.98rem;
  }

  .quickhop-profile-avatar {
    width: 120px;
    height: 120px;
  }

  .quickhop-profile-avatar--small,
  .quickhop-profile-avatar--card {
    width: 56px;
    height: 56px;
  }

  .quickhop-table {
    min-width: 560px;
  }

  .quickhop-table--compact {
    min-width: 620px;
  }

  .quickhop-company-card {
    min-height: 120px;
  }

  .quickhop-front-page {
    gap: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

.qh-message-stack{display:grid;gap:1rem}.qh-message-card{padding:1.25rem;border-radius:24px}.qh-message-thread{display:grid;gap:.85rem;margin-top:1rem}.qh-message-bubble{padding:1rem 1rem .85rem;border-radius:18px;background:#f5f9ff;border:1px solid rgba(20,114,201,.14)}.qh-message-bubble--company{background:#eef7ff}.qh-price-tag{display:inline-block;margin:.35rem 0 .5rem;padding:.35rem .65rem;border-radius:999px;background:#56cbff;color:#fff;font-weight:700}.qh-request-meta{display:grid;gap:.45rem;margin:.75rem 0 1rem}.qh-repeat-list{display:grid;gap:.85rem}.qh-repeat-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end;padding:1rem;border:1px solid rgba(20,114,201,.12);border-radius:18px;background:#fff}.qh-company-reply-form textarea{min-height:110px}.qh-remove-row{align-self:center}.qh-trip-planner-wrap .qh-message-card{background:#fff}.qh-parent-quote-form input[type="text"],.qh-company-reply-form input,.qh-company-reply-form textarea,.qh-coverage-manager input{width:100%}
@media (max-width: 768px){.qh-repeat-row{grid-template-columns:1fr}.qh-remove-row{width:100%}.qh-request-meta{font-size:.95rem}}


/* Footer mockup style */
.site-footer--mockup {
  background: #eeeeee;
  border-top: 0;
}

.site-footer--mockup .site-footer__inner {
  padding-top: 3rem;
  padding-bottom: 2rem;
}

.site-footer--mockup .site-footer__grid.site-footer__grid--mockup {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-areas: "company help contact" !important;
  gap: 2rem clamp(1rem, 2vw, 2rem);
  align-items: start;
  max-width: 980px;
  margin: 0 auto;
}

.site-footer__column--company {
  grid-area: company;
}

.site-footer__column--help {
  grid-area: help;
}

.site-footer__column--contact {
  grid-area: contact;
}

.site-footer__heading {
  margin: 0 0 1.15rem;
  color: #a6a6a6;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 800;
  font-size: clamp(1.2rem, 1.5vw, 1.55rem);
}

.site-footer__links,
.site-footer__links ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.site-footer__links a {
  color: #a6a6a6;
  font-size: clamp(1rem, 1.2vw, 1.25rem);
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

.site-footer__links a:hover {
  text-decoration: underline;
}

.site-footer__column {
  min-width: 0;
}

.site-footer--mockup .site-footer__copyright {
  padding-bottom: 2rem;
}

.site-footer--mockup .site-footer__copyright-text {
  margin: 0;
  text-align: center;
  color: #a6a6a6;
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  font-weight: 700;
}

@media (max-width: 900px) {
  .site-footer--mockup .site-footer__grid.site-footer__grid--mockup {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "company help"
      "contact contact" !important;
    max-width: 720px;
  }
}

@media (max-width: 680px) {
  .site-footer--mockup .site-footer__grid.site-footer__grid--mockup {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "company"
      "help"
      "contact" !important;
    gap: 2rem;
  }

  .site-footer__heading,
  .site-footer__links a,
  .site-footer--mockup .site-footer__copyright-text {
    text-align: center;
  }

  .site-footer__column {
    align-items: center;
    text-align: center;
  }

  .site-footer__links {
    justify-content: center;
  }
}


.qh-trip-summary-card{display:grid;gap:1rem}.qh-trip-summary-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.qh-trip-summary-list div{padding:1rem;border:1px solid rgba(20,114,201,.12);border-radius:18px;background:#fff;display:grid;gap:.35rem}.qh-trip-summary-list strong{font-size:1.05rem}.qh-trip-child-section{display:grid;gap:1.25rem}.qh-trip-child-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.qh-trip-child-meta{display:grid;gap:.5rem}.qh-trip-child-meta span,.qh-driver-trip-line span{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:999px;background:#f5f9ff;border:1px solid rgba(20,114,201,.12);font-size:.9rem}.qh-trip-table--planner input[type="text"],.qh-trip-table--planner input[type="time"]{min-width:120px}.qh-trip-helper-text{font-size:.95rem;color:#8a5a45}.qh-trip-override-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.qh-trip-day-card--child{height:100%}.qh-trip-day-card__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.qh-trip-toggle--full,.qh-trip-day-card__fields .quickhop-field--full{grid-column:1/-1}.qh-driver-trip-lines{display:grid;gap:.5rem;margin:.75rem 0}.qh-driver-trip-line{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}@media (max-width: 900px){.qh-trip-day-card__fields{grid-template-columns:minmax(0,1fr)}.qh-trip-table--planner input[type="text"],.qh-trip-table--planner input[type="time"]{min-width:100px}}


/* =========================================================
   QuickHop unified dashboard/profile restyle
   Extends the auth/front-page red-orange card system to
   profile, tracking, planner, driver, child, and company views.
   ========================================================= */
:root {
  --quickhop-primary: #56cbff;
  --quickhop-secondary: #a6a6a6;
  --quickhop-primary-soft: rgba(86,203,255,0.08);
  --quickhop-secondary-soft: rgba(166,166,166,0.12);
  --quickhop-gradient: linear-gradient(135deg, #56cbff 0%, #a6a6a6 100%);
  --quickhop-panel-bg: #ffffff;
  --quickhop-panel-border: rgba(166,166,166,0.18);
  --quickhop-panel-shadow: 0 22px 50px rgba(194, 73, 33, 0.12);
}

body {
  background: #ece8e6;
}

.section,
.quickhop-content-page,
.quickhop-content-page .quickhop-content-card,
.profile-card,
.quickhop-card-shell,
.quickhop-form-card,
.quickhop-record-card,
.quickhop-record-panel,
.driver-panel,
.driver-section-block,
.driver-standalone-section,
.quickhop-utility-card,
.quickhop-subscription-box,
.qh-home-box,
.qh-home-feature-card,
.qh-home-calc-card,
.qh-home-find-card,
.qh-home-gallery-card,
.qh-trip-planner-card,
.qh-trip-day-card,
.qh-trip-summary-card,
.qh-message-card,
.child-item,
.card {
  border-radius: 28px;
}

.section > .card,
.profile-card > .card,
.card,
.quickhop-content-card,
.quickhop-form-card,
.quickhop-record-card,
.quickhop-record-panel,
.quickhop-utility-card,
.quickhop-subscription-box,
.qh-home-box,
.qh-home-feature-card,
.qh-home-calc-card,
.qh-home-find-card,
.qh-home-gallery-card,
.qh-trip-planner-card,
.qh-trip-day-card,
.qh-trip-summary-card,
.qh-message-card,
.driver-panel,
.driver-section-block,
.driver-standalone-section,
.child-item {
  background: var(--quickhop-panel-bg);
  border: 1px solid var(--quickhop-panel-border);
  box-shadow: var(--quickhop-panel-shadow);
}

.profile-card > .card,
.quickhop-content-card,
.quickhop-form-card,
.quickhop-record-card,
.quickhop-record-panel,
.quickhop-utility-card,
.quickhop-subscription-box,
.qh-trip-planner-card,
.qh-trip-day-card,
.qh-trip-summary-card,
.driver-panel,
.child-item,
.section > .card,
.card {
  padding: clamp(1.15rem, 2vw, 2rem);
}

.section-kicker,
.driver-panel__kicker,
.quickhop-record-panel__eyebrow,
.child-item__label,
.quickhop-pill,
.quickhop-status,
.quickhop-avatar-status,
.qh-price-tag {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .5rem .9rem;
  border-radius: 999px;
  background: rgba(166,166,166,0.14);
  color: #d9531e;
  border: 1px solid rgba(166,166,166,0.16);
  font-weight: 800;
  letter-spacing: .01em;
}

.quickhop-status--active,
.quickhop-avatar-status--active,
.quickhop-button--success {
  background: rgba(86,203,255,0.12);
  border-color: rgba(86,203,255,0.18);
  color: #d62828;
}

.quickhop-status--inactive {
  background: rgba(166,166,166,0.12);
  border-color: rgba(166,166,166,0.18);
  color: #c4651d;
}

.quickhop-page-title,
.section-title,
.driver-panel__title,
.qh-home-title,
.quickhop-record-heading,
.child-item__name,
.branding__title {
  color: #1d1d1f;
  line-height: 1.1;
}

.quickhop-page-title,
.section-title,
.driver-panel__title,
.qh-home-title {
  font-size: clamp(1.8rem, 2.8vw, 2.7rem);
  margin-bottom: .65rem;
}

.section-lead,
.driver-panel__lead,
.driver-panel__summary,
.meta,
.description,
.child-item__meta,
.child-item__note,
.quickhop-register-helper,
.quickhop-auth-subtitle,
.quickhop-content-card p,
.quickhop-content-card li {
  color: #6b6767;
}

.quickhop-inline-actions,
.quickhop-login-actions,
.quickhop-auth-actions,
.child-item__actions,
.qh-trip-planner-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
}

.quickhop-button,
.quickhop-auth-button,
.quickhop-login-button,
.quickhop-register-button,
.button,
.button-primary,
input[type="submit"],
button[type="submit"] {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: .95rem 1.35rem;
  background: var(--quickhop-gradient);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(255, 108, 61, 0.22);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.quickhop-button:hover,
.quickhop-auth-button:hover,
.quickhop-login-button:hover,
.quickhop-register-button:hover,
.button:hover,
.button-primary:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(255, 108, 61, 0.28);
}

.quickhop-button--ghost,
.quickhop-header-button--ghost,
a.quickhop-button--ghost {
  background: #fff;
  color: var(--quickhop-primary);
  border: 1px solid rgba(86,203,255,.18);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}

.quickhop-field label,
.quickhop-login-label,
.quickhop-register-label,
.qh-find-label,
.quickhop-record-browser__field label,
.driver-account-grid label {
  display: block;
  margin-bottom: .45rem;
  font-weight: 700;
  color: #2a2a2c;
}

.quickhop-field input,
.quickhop-field select,
.quickhop-field textarea,
.quickhop-login-input,
.quickhop-register-input,
.quickhop-register-select,
.qh-find-input,
.quickhop-record-select,
.quickhop-record-browser__field input,
.quickhop-record-browser__field select,
.quickhop-record-browser__field textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="time"],
input[type="date"],
input[type="number"],
select,
textarea {
  width: 100%;
  min-height: 54px;
  padding: .9rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(166,166,166,.22);
  background: #fffaf7;
  color: #222;
  box-sizing: border-box;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.02);
}

textarea {
  min-height: 120px;
  resize: vertical;
}

.quickhop-field input:focus,
.quickhop-field select:focus,
.quickhop-field textarea:focus,
.quickhop-login-input:focus,
.quickhop-register-input:focus,
.quickhop-register-select:focus,
.qh-find-input:focus,
.quickhop-record-select:focus,
.quickhop-record-browser__field input:focus,
.quickhop-record-browser__field select:focus,
.quickhop-record-browser__field textarea:focus,
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: rgba(86,203,255,.4);
  box-shadow: 0 0 0 4px rgba(86,203,255,.08);
  background: #fff;
}

.quickhop-form-grid,
.driver-account-grid,
.quickhop-record-panel__grid,
.driver-profile-grid,
.driver-grid-section,
.quickhop-driver-grid,
.qh-home-company-columns,
.qh-home-features-grid,
.qh-home-calc-grid,
.qh-home-find-grid,
.qh-trip-override-grid,
.qh-trip-day-card__fields,
.qh-trip-summary-list,
.child-list {
  gap: 1rem;
}

.driver-profile-grid,
.driver-grid-section,
.quickhop-driver-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.driver-panel__header,
.quickhop-record-panel__header,
.child-item__header,
.qh-trip-child-heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.child-item__details,
.table-like,
.quickhop-table-wrap,
.quickhop-record-panels,
.quickhop-message-stack,
.qh-driver-trip-lines,
.driver-help-list {
  display: grid;
  gap: .85rem;
}

.child-item__detail,
.table-like__row,
.quickhop-share-code,
.quickhop-share-code__value,
.driver-help-step,
.qh-message-bubble,
.qh-trip-summary-list > div,
.quickhop-notice,
.quickhop-auth-alert,
.quickhop-login-error,
.quickhop-register-errors,
.notice {
  border-radius: 18px;
  background: #fff8f4;
  border: 1px solid rgba(166,166,166,.18);
  padding: .95rem 1rem;
}

.quickhop-auth-alert--error,
.quickhop-login-error,
.quickhop-register-errors,
.notice-error,
.quickhop-notice--error {
  background: rgba(86,203,255,0.08);
  border-color: rgba(86,203,255,0.18);
  color: #b42318;
}

.quickhop-notice--success,
.notice-success {
  background: rgba(166,166,166,0.12);
  border-color: rgba(166,166,166,.18);
  color: #b85d1c;
}

.quickhop-table,
.widefat,
.form-table,
.qh-trip-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(166,166,166,.16);
  box-shadow: 0 12px 28px rgba(0,0,0,.05);
}

.quickhop-table th,
.quickhop-table td,
.widefat th,
.widefat td,
.form-table th,
.form-table td,
.qh-trip-table th,
.qh-trip-table td {
  padding: .95rem 1rem;
  border-bottom: 1px solid rgba(166,166,166,.12);
}

.quickhop-table th,
.widefat th,
.form-table th,
.qh-trip-table th {
  background: linear-gradient(135deg, rgba(86,203,255,.92), rgba(166,166,166,.92));
  color: #fff;
  text-align: left;
}

.quickhop-table tr:last-child td,
.widefat tr:last-child td,
.form-table tr:last-child td,
.qh-trip-table tr:last-child td {
  border-bottom: 0;
}

.quickhop-tracking-map,
.quickhop-map,
#quickhop-driver-live-map,
#quickhop-parent-live-map {
  min-height: 360px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(166,166,166,.18);
  box-shadow: var(--quickhop-panel-shadow);
}

.quickhop-profile-avatar,
.quickhop-profile-avatar--card,
.quickhop-profile-avatar--small,
.quickhop-auth-brand__badge,
.branding__mark,
.branding__icon {
  background: var(--quickhop-gradient);
  border-radius: 24px;
  box-shadow: 0 16px 28px rgba(255, 108, 61, 0.22);
}

.quickhop-profile-avatar img,
.quickhop-profile-avatar--card img,
.quickhop-profile-avatar--small img {
  border-radius: inherit;
}

.quickhop-share-code__value,
.quickhop-share-code__value--inline,
.code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  letter-spacing: .08em;
  color: var(--quickhop-primary);
}

.qh-home-ribbon,
.quickhop-auth-card__hero,
.quickhop-auth-brand__badge,
.branding__icon,
.site-header--quickhop .branding__mark {
  background: var(--quickhop-gradient);
}

@media (max-width: 900px) {
  .quickhop-form-grid,
  .driver-account-grid,
  .driver-profile-grid,
  .driver-grid-section,
  .quickhop-driver-grid,
  .qh-home-company-columns,
  .qh-home-features-grid,
  .qh-home-calc-grid,
  .qh-home-find-grid,
  .qh-trip-override-grid,
  .qh-trip-day-card__fields,
  .qh-trip-summary-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .quickhop-table,
  .widefat,
  .form-table,
  .qh-trip-table {
    display: block;
    overflow-x: auto;
  }
}

/* Invoice generator */
.quickhop-invoice-profile-note,
.quickhop-invoice-contact-summary,
.quickhop-invoice-hint {
    margin-top: 1rem;
    padding: 1rem 1.125rem;
    border: 1px solid rgba(16, 24, 40, 0.08);
    border-radius: 16px;
    background: #f8fafc;
    color: #475467;
}

.quickhop-invoice-sheet {
    margin-top: 1rem;
    border: 1px solid rgba(16, 24, 40, 0.08);
    border-radius: 24px;
    background: #ffffff;
    overflow: hidden;
}

.quickhop-invoice-sheet__head {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(260px, 1fr);
    gap: 1.25rem;
    padding: 1.5rem;
    border-bottom: 1px solid rgba(16, 24, 40, 0.08);
}

.quickhop-invoice-sheet__brand {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.quickhop-invoice-sheet__logo-wrap {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    border-radius: 18px;
    border: 1px solid rgba(16, 24, 40, 0.08);
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.quickhop-invoice-sheet__logo {
    max-width: 100%;
    max-height: 100%;
    display: block;
}

.quickhop-invoice-sheet__eyebrow {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #56cbff;
}

.quickhop-invoice-sheet__brand-copy h3,
.quickhop-invoice-sheet__brand-copy p,
.quickhop-invoice-sheet__meta-item,
.quickhop-invoice-sheet__summary-box p,
.quickhop-invoice-sheet__summary-box span,
.quickhop-invoice-sheet__footer-card p,
.quickhop-invoice-sheet__footer-card span {
    margin: 0;
}

.quickhop-invoice-sheet__brand-copy h3 {
    margin-bottom: 0.45rem;
}

.quickhop-invoice-sheet__brand-copy p,
.quickhop-invoice-sheet__meta-item span,
.quickhop-invoice-sheet__summary-box p,
.quickhop-invoice-sheet__footer-card p,
.quickhop-invoice-sheet__footer-card span {
    color: #667085;
}

.quickhop-invoice-sheet__meta {
    display: grid;
    gap: 0.85rem;
}

.quickhop-invoice-sheet__meta-item {
    padding: 0.9rem 1rem;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid rgba(16, 24, 40, 0.06);
}

.quickhop-invoice-sheet__meta-item strong,
.quickhop-invoice-sheet__summary-box strong,
.quickhop-invoice-sheet__footer-card strong {
    display: block;
    margin-top: 0.25rem;
    color: #101828;
}

.quickhop-invoice-sheet__body {
    padding: 1.5rem;
}

.quickhop-invoice-sheet__summary,
.quickhop-invoice-sheet__footer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.quickhop-invoice-sheet__summary-box,
.quickhop-invoice-sheet__footer-card,
.quickhop-invoice-sheet__totals-card {
    padding: 1rem 1.1rem;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid rgba(16, 24, 40, 0.06);
}

.quickhop-invoice-sheet__table-wrap {
    margin-top: 1rem;
    overflow-x: auto;
}

.quickhop-invoice-sheet__table {
    width: 100%;
    border-collapse: collapse;
}

.quickhop-invoice-sheet__table th,
.quickhop-invoice-sheet__table td {
    padding: 0.9rem 0.85rem;
    text-align: left;
    border-bottom: 1px solid rgba(16, 24, 40, 0.08);
}

.quickhop-invoice-sheet__table th {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #667085;
}

.quickhop-invoice-sheet__totals {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
}

.quickhop-invoice-sheet__totals-card {
    width: min(100%, 360px);
}

.quickhop-invoice-sheet__totals-card > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.65rem;
}

.quickhop-invoice-sheet__totals-card > div:last-child {
    margin-bottom: 0;
}

.quickhop-invoice-sheet__total-line {
    padding-top: 0.8rem;
    border-top: 1px solid rgba(16, 24, 40, 0.08);
}

.quickhop-invoice-sheet__footer-grid {
    margin-top: 1rem;
}

@media (max-width: 820px) {
    .quickhop-invoice-sheet__head,
    .quickhop-invoice-sheet__summary,
    .quickhop-invoice-sheet__footer-grid {
        grid-template-columns: 1fr;
    }

    .quickhop-invoice-sheet__brand {
        flex-direction: column;
    }
}


/* Trip planner refresh */
.qh-trip-planner-wrap {
  max-width: 760px;
  margin: 0 auto;
}

.qh-trip-planner-card {
  background: #f2f2f2 !important;
  border-radius: 34px !important;
  border: 0 !important;
  padding: 1.75rem !important;
}

.qh-trip-planner-card > .section-title.quickhop-page-title {
  max-width: 420px;
  margin: 0 auto;
  padding: 1rem 1.5rem;
  border-radius: 18px;
  background: #73c4f4;
  color: #fff;
  text-align: center;
  text-transform: none;
  letter-spacing: 0;
  text-shadow: none;
}

.qh-trip-planner-card > .section-kicker,
.qh-trip-child-heading .section-kicker,
.qh-trip-summary-card .section-kicker {
  display: none !important;
}

.qh-trip-planner-card > .section-lead {
  max-width: 620px;
  margin: 0 auto;
  text-align: center;
}

.qh-trip-planner-toolbar,
.qh-trip-planner-form,
.qh-trip-planner-section {
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}

.qh-trip-planner-section {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #cfcfcf !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-shadow: none !important;
}

.qh-trip-planner-toolbar {
  justify-content: center;
  padding-top: .25rem;
}

.qh-trip-planner-toolbar__field label,
.qh-trip-day-card__fields > label > span,
.qh-trip-day-card__fields > label span,
.qh-trip-child-meta span,
.qh-trip-helper-text,
.qh-trip-summary-list span {
  color: #202020;
}

.qh-trip-planner-wrap .quickhop-field input,
.qh-trip-planner-wrap .quickhop-field select,
.qh-trip-planner-wrap .quickhop-field textarea,
.qh-trip-planner-wrap input[type="time"],
.qh-trip-planner-wrap input[type="text"],
.qh-trip-planner-wrap input[type="date"],
.qh-trip-planner-wrap input[type="month"],
.qh-trip-planner-wrap select {
  border: 4px solid #73c4f4 !important;
  border-radius: 999px !important;
  background: #fff !important;
  min-height: 48px;
  box-shadow: none !important;
}

.qh-trip-planner-wrap input[type="checkbox"] {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  accent-color: #73c4f4;
}

.qh-trip-planner-wrap .quickhop-button,
.qh-trip-planner-wrap button,
.qh-trip-planner-wrap input[type='submit'] {
  border-radius: 16px !important;
  background: #73c4f4 !important;
  border: 0 !important;
  color: #fff !important;
  text-transform: none !important;
  box-shadow: none !important;
}

.qh-trip-summary-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.qh-trip-summary-list > div {
  background: #fff;
  border: 2px solid rgba(115,196,244,.45);
  border-radius: 22px;
  padding: .9rem 1rem;
}

.qh-trip-override-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
}

.qh-trip-day-card,
body:not(.home) .qh-trip-day-card {
  background: #fff !important;
  border: 2px solid rgba(115,196,244,.35) !important;
  border-radius: 26px !important;
  box-shadow: none !important;
}

.qh-trip-day-card h3 {
  text-align: center;
  color: #1f1f1f;
}

.qh-trip-day-card__fields {
  gap: .75rem;
}

.qh-trip-day-card__fields .quickhop-field input,
.qh-trip-day-card__fields .quickhop-field select,
.qh-trip-day-card__fields .quickhop-field textarea {
  min-height: 44px;
}

.qh-trip-table--planner th,
.qh-trip-table--planner td {
  vertical-align: middle;
}

@media (max-width: 680px) {
  .qh-trip-planner-card {
    padding: 1rem !important;
    border-radius: 22px !important;
  }

  .qh-trip-summary-list {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   QuickHop picture-2 border refresh
   Applies the rounded outside border shell requested for all
   non-home PHP pages.
   ========================================================= */
body:not(.home) {
  background: #efedeb;
}

body:not(.home) .section > .card,
body:not(.home) .profile-card > .card,
body:not(.home) .card,
body:not(.home) .quickhop-content-card,
body:not(.home) .quickhop-form-card,
body:not(.home) .quickhop-record-card,
body:not(.home) .quickhop-record-panel,
body:not(.home) .quickhop-utility-card,
body:not(.home) .quickhop-subscription-box,
body:not(.home) .qh-home-box,
body:not(.home) .qh-home-feature-card,
body:not(.home) .qh-home-calc-card,
body:not(.home) .qh-home-find-card,
body:not(.home) .qh-home-gallery-card,
body:not(.home) .qh-trip-planner-card,
body:not(.home) .qh-trip-day-card,
body:not(.home) .qh-trip-summary-card,
body:not(.home) .qh-message-card,
body:not(.home) .driver-panel,
body:not(.home) .driver-section-block,
body:not(.home) .driver-standalone-section,
body:not(.home) .child-item,
body:not(.home) .qh-profile-surface,
body:not(.home) .quickhop-card-shell {
  background: #faf7f5 !important;
  border: 1px solid #dcc8bd !important;
  border-radius: 38px !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.04) !important;
}

body:not(.home) .section,
body:not(.home) .profile-card,
body:not(.home) .quickhop-content-page,
body:not(.home) .quickhop-card-shell,
body:not(.home) .driver-grid-section,
body:not(.home) .driver-sections,
body:not(.home) .qh-trip-planner-wrap,
body:not(.home) .qh-message-page {
  border-radius: 38px !important;
}

body:not(.home) .section-kicker,
body:not(.home) .driver-panel__kicker,
body:not(.home) .quickhop-record-panel__eyebrow,
body:not(.home) .child-item__label,
body:not(.home) .quickhop-pill,
body:not(.home) .quickhop-status,
body:not(.home) .quickhop-avatar-status {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #9aa0a6 !important;
  letter-spacing: 0.16em !important;
  padding: 0 !important;
  text-shadow: none !important;
}

body:not(.home) .quickhop-page-title,
body:not(.home) .quickhop-page-title.qh-pill-title,
body:not(.home) .section-title.quickhop-page-title,
body:not(.home) .quickhop-auth-title.quickhop-page-title {
  display: inline-block;
  width: auto;
  min-width: 240px;
  padding: 16px 42px;
  background: #67c9fb !important;
  border-radius: 18px !important;
  color: #ffffff !important;
  text-align: center;
  text-transform: none !important;
  text-shadow: none !important;
  letter-spacing: 0 !important;
  box-shadow: 0 10px 18px rgba(86, 203, 255, 0.18) !important;
}

body:not(.home) .section-title:not(.quickhop-page-title),
body:not(.home) .driver-panel__title,
body:not(.home) .qh-home-title,
body:not(.home) .quickhop-record-heading,
body:not(.home) .child-item__name,
body:not(.home) .branding__title {
  color: #3f302a !important;
  text-transform: none !important;
  text-shadow: none !important;
}

body:not(.home) .quickhop-button,
body:not(.home) button,
body:not(.home) input[type='submit'],
body:not(.home) .quickhop-auth-button,
body:not(.home) .quickhop-login-button,
body:not(.home) .quickhop-register-button,
body:not(.home) .button,
body:not(.home) .button-primary {
  background: #67c9fb !important;
  border: 1px solid #696969 !important;
  border-radius: 18px !important;
  color: #ffffff !important;
  text-transform: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

body:not(.home) .quickhop-button:hover,
body:not(.home) button:hover,
body:not(.home) input[type='submit']:hover,
body:not(.home) .quickhop-auth-button:hover,
body:not(.home) .quickhop-login-button:hover,
body:not(.home) .quickhop-register-button:hover,
body:not(.home) .button:hover,
body:not(.home) .button-primary:hover {
  background: #56bdf2 !important;
  transform: none !important;
}

body:not(.home) .quickhop-button--ghost,
body:not(.home) .quickhop-auth-switch__item,
body:not(.home) .quickhop-header-button {
  background: #ffffff !important;
  color: #3f302a !important;
  border: 1px solid #dcc8bd !important;
}

body:not(.home) .quickhop-map,
body:not(.home) .quickhop-tracking-map,
body:not(.home) #quickhop-driver-live-map,
body:not(.home) #quickhop-parent-live-map {
  border-radius: 34px !important;
  border: 1px solid #dcc8bd !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.04) !important;
}

body:not(.home) .qh-trip-planner-card {
  background: #faf7f5 !important;
  border: 1px solid #dcc8bd !important;
}

body:not(.home) .qh-trip-planner-section {
  border-top: 1px solid #d9d2ce !important;
}

@media (max-width: 680px) {
  body:not(.home) .section > .card,
  body:not(.home) .profile-card > .card,
  body:not(.home) .card,
  body:not(.home) .quickhop-content-card,
  body:not(.home) .quickhop-form-card,
  body:not(.home) .quickhop-record-card,
  body:not(.home) .quickhop-record-panel,
  body:not(.home) .quickhop-utility-card,
  body:not(.home) .quickhop-subscription-box,
  body:not(.home) .qh-trip-planner-card,
  body:not(.home) .qh-trip-day-card,
  body:not(.home) .qh-trip-summary-card,
  body:not(.home) .qh-message-card,
  body:not(.home) .driver-panel,
  body:not(.home) .driver-section-block,
  body:not(.home) .driver-standalone-section,
  body:not(.home) .child-item,
  body:not(.home) .qh-profile-surface,
  body:not(.home) .quickhop-card-shell {
    border-radius: 28px !important;
  }

  body:not(.home) .quickhop-page-title,
  body:not(.home) .quickhop-page-title.qh-pill-title,
  body:not(.home) .section-title.quickhop-page-title,
  body:not(.home) .quickhop-auth-title.quickhop-page-title {
    min-width: 0;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* QuickHop quote calculator readability fixes */
.quickhop-calculator .quickhop-results:not(.quickhop-results--error),
body:not(.home) .quickhop-calculator .quickhop-results:not(.quickhop-results--error) {
  background: rgba(119, 202, 252, 0.12) !important;
  border-color: #77cafc !important;
  color: #545454 !important;
}

.quickhop-calculator .quickhop-results:not(.quickhop-results--error) *,
body:not(.home) .quickhop-calculator .quickhop-results:not(.quickhop-results--error) * {
  color: #545454 !important;
}

.quickhop-calculator .quickhop-results__item,
body:not(.home) .quickhop-calculator .quickhop-results__item {
  background: #ffffff !important;
  border: 1px solid rgba(119, 202, 252, 0.35) !important;
}

.quickhop-calculator .quickhop-button,
body:not(.home) .quickhop-calculator .quickhop-button {
  box-shadow: 0 10px 22px rgba(119, 202, 252, 0.22) !important;
}

.quickhop-calculator .quickhop-button--ghost,
.quickhop-calculator a.quickhop-button--ghost,
body:not(.home) .quickhop-calculator .quickhop-button--ghost,
body:not(.home) .quickhop-calculator a.quickhop-button--ghost {
  background: #ffffff !important;
  border-color: #77cafc !important;
  color: #77cafc !important;
}

.quickhop-calculator .section-kicker,
body:not(.home) .quickhop-calculator .section-kicker {
  background: rgba(119, 202, 252, 0.12) !important;
  border-color: rgba(119, 202, 252, 0.35) !important;
  color: #77cafc !important;
  text-shadow: none !important;
}

/* Cache bump for About Us page content update. */


/* QuickHop front-page calculator readability fix v3 */
.quickhop-calculator .quickhop-results,
.quickhop-calculator .quickhop-results.quickhop-results--error,
.qh-home-v3 .qh-home-calc-card .quickhop-results,
.qh-home-v3 .qh-home-calc-card .quickhop-results.quickhop-results--error {
  background: rgba(119, 202, 252, 0.12) !important;
  border: 1px solid rgba(119, 202, 252, 0.45) !important;
  color: #545454 !important;
}
.quickhop-calculator .quickhop-results *,
.quickhop-calculator .quickhop-results.quickhop-results--error *,
.qh-home-v3 .qh-home-calc-card .quickhop-results *,
.qh-home-v3 .qh-home-calc-card .quickhop-results.quickhop-results--error * {
  color: #545454 !important;
  text-shadow: none !important;
}
.quickhop-calculator .quickhop-results__item,
.qh-home-v3 .qh-home-calc-card .quickhop-results__item {
  background: #ffffff !important;
  border: 1px solid rgba(119, 202, 252, 0.35) !important;
}
.quickhop-calculator .quickhop-button--ghost,
.quickhop-calculator a.quickhop-button--ghost,
.qh-home-v3 .qh-home-calc-card .quickhop-button--ghost,
.qh-home-v3 .qh-home-calc-card a.quickhop-button--ghost {
  background: #ffffff !important;
  border-color: #77cafc !important;
  color: #77cafc !important;
}
.qh-home-v3 .qh-home-calc-card .quickhop-field input:focus,
.qh-home-v3 .qh-home-calc-card .quickhop-field select:focus,
.quickhop-calculator .quickhop-field input:focus,
.quickhop-calculator .quickhop-field select:focus {
  border-color: #77cafc !important;
  border-bottom-color: #77cafc !important;
  outline-color: #77cafc !important;
}
.quickhop-calculator .quickhop-inline-actions .quickhop-button,
.qh-home-v3 .qh-home-calc-card .quickhop-inline-actions .quickhop-button {
  box-shadow: 0 10px 24px rgba(119, 202, 252, 0.22) !important;
}

/* QuickHop FAQ page */
.quickhop-faq-page {
  padding-top: clamp(28px, 5vw, 56px);
}

.quickhop-faq-card {
  display: grid;
  gap: clamp(22px, 4vw, 34px);
  max-width: 1060px;
  margin: 0 auto;
  color: #545454;
}

.quickhop-faq-hero {
  display: grid;
  gap: 14px;
  padding: clamp(24px, 5vw, 42px);
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(119,202,252,0.18), rgba(255,255,255,0.94));
  border: 1px solid rgba(119,202,252,0.34);
}

.quickhop-faq-kicker {
  margin: 0;
  color: #77cafc;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
}

.quickhop-faq-hero .quickhop-page-title {
  margin: 0;
  color: #222;
}

.quickhop-faq-intro {
  margin: 0;
  max-width: 760px;
  color: #545454;
  font-size: clamp(1rem, 2vw, 1.15rem);
  line-height: 1.7;
}

.quickhop-faq-contact-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.quickhop-faq-contact-strip span,
.quickhop-faq-jump-links a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(119,202,252,0.28);
  color: #545454;
  padding: 10px 14px;
  box-shadow: 0 10px 24px rgba(84,84,84,0.06);
}

.quickhop-faq-contact-strip a,
.quickhop-faq-card a {
  color: #309ed8;
  font-weight: 800;
}

.quickhop-faq-jump-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.quickhop-faq-jump-links a {
  text-decoration: none;
  font-weight: 800;
}

.quickhop-faq-jump-links a:hover {
  background: #77cafc;
  border-color: #77cafc;
  color: #fff;
}

.quickhop-faq-section {
  display: grid;
  gap: 16px;
  padding: clamp(22px, 4vw, 34px);
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(84,84,84,0.1);
  box-shadow: 0 16px 38px rgba(84,84,84,0.06);
}

.quickhop-faq-section h2 {
  margin: 0;
  color: #222;
  font-size: clamp(1.35rem, 3vw, 2rem);
  line-height: 1.2;
}

.quickhop-faq-item,
.quickhop-faq-example-card {
  padding: clamp(16px, 3vw, 24px);
  border-radius: 22px;
  background: rgba(119,202,252,0.08);
  border: 1px solid rgba(119,202,252,0.22);
}

.quickhop-faq-item h3,
.quickhop-faq-item h4,
.quickhop-faq-example-card h4 {
  margin: 0 0 10px;
  color: #222;
  line-height: 1.25;
}

.quickhop-faq-item h3 {
  font-size: clamp(1.08rem, 2.4vw, 1.35rem);
}

.quickhop-faq-item h4,
.quickhop-faq-example-card h4 {
  font-size: 1.05rem;
}

.quickhop-faq-item p,
.quickhop-faq-item li,
.quickhop-faq-contact-section p,
.quickhop-faq-extra-section li {
  color: #545454;
  font-size: 1rem;
  line-height: 1.7;
}

.quickhop-faq-item p,
.quickhop-faq-example-card p,
.quickhop-faq-contact-section p,
.quickhop-faq-extra-section p {
  margin: 0 0 10px;
}

.quickhop-faq-item p:last-child,
.quickhop-faq-example-card p:last-child,
.quickhop-faq-contact-section p:last-child {
  margin-bottom: 0;
}

.quickhop-faq-item ul,
.quickhop-faq-item ol,
.quickhop-faq-extra-section ul {
  margin: 8px 0 0;
  padding-left: 1.2rem;
}

.quickhop-faq-item li + li,
.quickhop-faq-extra-section li + li {
  margin-top: 6px;
}

.quickhop-faq-example-card {
  margin-top: 12px;
  background: #fff;
}

.quickhop-faq-contact-list {
  display: grid;
  gap: 6px;
  margin: 4px 0 12px;
}

.quickhop-faq-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.quickhop-faq-cta-row .quickhop-button {
  background: #77cafc;
  color: #fff;
}

.quickhop-faq-cta-row .quickhop-button--ghost {
  background: #fff;
  color: #545454;
  border: 1px solid rgba(119,202,252,0.45);
}

.quickhop-faq-two-column-list {
  columns: 2;
  column-gap: 42px;
}

@media (max-width: 720px) {
  .quickhop-faq-page {
    padding-top: 20px;
  }

  .quickhop-faq-card,
  .quickhop-faq-section {
    gap: 18px;
  }

  .quickhop-faq-contact-strip,
  .quickhop-faq-jump-links,
  .quickhop-faq-cta-row {
    display: grid;
  }

  .quickhop-faq-contact-strip span,
  .quickhop-faq-jump-links a,
  .quickhop-faq-cta-row .quickhop-button {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .quickhop-faq-two-column-list {
    columns: 1;
  }
}

/* FAQ dropdown questions */
details.quickhop-faq-item {
  padding: 0;
  overflow: hidden;
}

details.quickhop-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: clamp(16px, 3vw, 24px);
  cursor: pointer;
  list-style: none;
  color: #222;
  font-size: clamp(1.08rem, 2.4vw, 1.35rem);
  font-weight: 900;
  line-height: 1.25;
  user-select: none;
}

details.quickhop-faq-item summary::-webkit-details-marker {
  display: none;
}

details.quickhop-faq-item summary::after {
  content: "+";
  display: inline-grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #77cafc;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(119,202,252,0.28);
}

details.quickhop-faq-item[open] summary {
  background: rgba(119,202,252,0.13);
  border-bottom: 1px solid rgba(119,202,252,0.22);
}

details.quickhop-faq-item[open] summary::after {
  content: "−";
}

.quickhop-faq-question-text {
  display: block;
}

.quickhop-faq-answer {
  padding: clamp(16px, 3vw, 24px);
  padding-top: 16px;
}

.quickhop-faq-answer > *:first-child {
  margin-top: 0;
}

.quickhop-faq-answer > *:last-child {
  margin-bottom: 0;
}



/* QuickHop logo badge cleanup: remove the background shape behind the logo */
.quickhop-auth-brand__badge{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
}
.quickhop-auth-brand__badge img{
  width: 96px !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block !important;
  filter: none !important;
  border-radius: 0 !important;
}


/* QuickHop auth logo background removal */
.quickhop-auth-brand__badge,
.branding__mark,
.branding__icon {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.quickhop-auth-brand__badge {
  border-radius: 0 !important;
}
.quickhop-auth-brand__badge img {
  filter: none !important;
}

/* QuickHop Head Office driver management inside the front-end Admin profile. */
.qh-admin-profile-tools,
.qh-head-office-admin .quickhop-card-shell {
  border: 1px solid rgba(47, 181, 238, 0.22);
  background: linear-gradient(180deg, rgba(247, 252, 255, 0.98), rgba(255,255,255,0.98));
  box-shadow: 0 18px 42px rgba(22, 42, 61, 0.07);
}
.qh-head-office-admin__hero {
  overflow: hidden;
  position: relative;
}
.qh-head-office-admin__hero::before {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  right: -110px;
  top: -120px;
  background: rgba(47, 181, 238, 0.09);
  pointer-events: none;
}
.qh-head-office-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
  margin-top: 1rem;
}
.qh-head-office-summary > div {
  display: grid;
  gap: .25rem;
  padding: 1rem;
  border-radius: 18px;
  border: 1px solid rgba(47, 181, 238, 0.18);
  background: #fff;
}
.qh-head-office-summary span { color: #6f7b85; font-size: .88rem; }
.qh-head-office-summary strong { color: #162432; font-size: 1.05rem; }
.qh-head-office-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1rem;
}
.qh-head-office-form__actions { margin-top: 1.1rem; }
.qh-head-office-form small { color: #76838c; line-height: 1.35; }
.qh-head-office-driver-list { display: grid; gap: .85rem; margin-top: 1rem; }
.qh-head-office-driver-card {
  border: 1px solid rgba(47, 181, 238, 0.18);
  border-radius: 20px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(22, 42, 61, 0.04);
}
.qh-head-office-driver-card > summary {
  cursor: pointer;
  list-style: none;
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) auto;
  gap: .85rem;
  align-items: center;
  padding: 1rem 1.1rem;
  color: #162432;
}
.qh-head-office-driver-card > summary::-webkit-details-marker { display: none; }
.qh-head-office-driver-card > summary::after {
  content: "+";
  grid-column: 4;
  grid-row: 1;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(47, 181, 238, .12);
  color: #179fdc;
  font-weight: 800;
  font-size: 1.25rem;
}
.qh-head-office-driver-card[open] > summary::after { content: "−"; }
.qh-head-office-driver-card__identity { display: grid; gap: .15rem; }
.qh-head-office-driver-card__identity small,
.qh-head-office-driver-card__vehicle,
.qh-head-office-driver-card__seat { color: #6f7b85; font-size: .9rem; }
.qh-head-office-driver-card__seat {
  white-space: nowrap;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: #f0f9fe;
  color: #247ea8;
  font-weight: 700;
}
.qh-head-office-driver-card__body {
  border-top: 1px solid rgba(47, 181, 238, 0.13);
  padding: 1.1rem;
  background: #fbfdff;
}
.qh-head-office-empty {
  padding: 1.1rem;
  border-radius: 18px;
  background: #f7fbfd;
  color: #66747e;
  text-align: center;
}
.qh-head-office-admin__success {
  background: #eefaf4;
  color: #1f6d49;
  border: 1px solid rgba(31,109,73,.18);
}
@media (max-width: 760px) {
  .qh-head-office-form__grid,
  .qh-head-office-summary { grid-template-columns: 1fr; }
  .qh-head-office-driver-card > summary {
    grid-template-columns: minmax(0,1fr) auto;
  }
  .qh-head-office-driver-card__vehicle {
    grid-column: 1;
  }
  .qh-head-office-driver-card__seat {
    grid-column: 2;
    grid-row: 1;
  }
  .qh-head-office-driver-card > summary::after {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
}


/* QuickHop transport route grouping and long-trip driver controls. */
.qh-route-manager {
  border: 1px solid rgba(47,181,238,.22);
  background: linear-gradient(180deg,#f8fcff,#fff);
  box-shadow: 0 18px 42px rgba(22,42,61,.06);
}
.qh-route-manager__examples {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .8rem;
  margin: 1rem 0;
}
.qh-route-manager__examples > div {
  display: grid;
  gap: .2rem;
  padding: .9rem 1rem;
  border-radius: 17px;
  border: 1px solid rgba(47,181,238,.18);
  background: #fff;
}
.qh-route-manager__examples strong { color:#18374b; }
.qh-route-manager__examples span { color:#6e7b84; font-size:.88rem; }
.qh-route-manager__new,
.qh-route-manager__card {
  border: 1px solid rgba(47,181,238,.18);
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
}
.qh-route-manager__new { margin: 1rem 0; }
.qh-route-manager__new > summary,
.qh-route-manager__card > summary {
  cursor: pointer;
  list-style: none;
  padding: 1rem 1.1rem;
  color:#18374b;
  font-weight:800;
}
.qh-route-manager__new > summary::-webkit-details-marker,
.qh-route-manager__card > summary::-webkit-details-marker { display:none; }
.qh-route-manager__card > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.qh-route-manager__card > summary > span:first-child { display:grid; gap:.2rem; }
.qh-route-manager__card > summary small { color:#71808a; font-weight:600; }
.qh-route-manager__form,
.qh-route-manager__card-body {
  padding: 1rem 1.1rem 1.1rem;
  border-top: 1px solid rgba(47,181,238,.12);
  background:#fbfdff;
}
.qh-route-manager__card-body { display:grid; gap:.8rem; }
.qh-route-manager__list { display:grid; gap:.8rem; }
.qh-driver-route-checks {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.35rem;
}
.qh-driver-route-checks label,
.qh-route-long-checkbox {
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  padding:.7rem .8rem;
  border:1px solid rgba(47,181,238,.2);
  border-radius:14px;
  background:#f8fcff;
}
.qh-driver-route-checks input,
.qh-route-long-checkbox input { width:auto; margin-top:.16rem; }
.qh-route-long-checkbox span { display:grid; gap:.15rem; }
.qh-route-long-checkbox small { color:#72808a; font-weight:500; }
@media (max-width:760px) {
  .qh-route-manager__examples { grid-template-columns:1fr; }
  .qh-route-manager__card > summary { align-items:flex-start; }
  .qh-driver-route-checks { display:grid; grid-template-columns:1fr; }
}

/* Head Office driver child assignment inside the themed Admin driver card. */
.qh-head-office-driver-children {
  margin-top: 1.15rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(47, 181, 238, 0.16);
}
.qh-head-office-driver-children__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .9rem;
}
.qh-head-office-driver-children__header h3 { margin: .2rem 0 .3rem; color: #162432; }
.qh-head-office-driver-children__header p { margin: 0; color: #66747e; max-width: 760px; }
.qh-head-office-driver-children__forms {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .9rem;
}
.qh-head-office-driver-children__form {
  display: grid;
  align-content: start;
  gap: .7rem;
  padding: .9rem;
  border: 1px solid rgba(47, 181, 238, .16);
  border-radius: 18px;
  background: #fff;
}
.qh-head-office-driver-children__form .quickhop-button { width: 100%; justify-content: center; }
.qh-head-office-driver-children__assigned { margin-top: 1rem; }
.qh-head-office-driver-children__assigned h4 { margin: 0 0 .65rem; color: #162432; }
.qh-head-office-driver-child-list { display: grid; gap: .55rem; }
.qh-head-office-driver-child-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: .75rem .85rem;
  border-radius: 15px;
  background: #f5fbfe;
  border: 1px solid rgba(47, 181, 238, .13);
}
.qh-head-office-driver-child-row__info { display: grid; gap: .15rem; min-width: 0; }
.qh-head-office-driver-child-row__info strong { color: #162432; }
.qh-head-office-driver-child-row__info small { color: #6f7b85; line-height: 1.35; }
.qh-head-office-driver-child-row__remove { padding: .55rem .8rem; min-height: 40px; }
.qh-head-office-driver-children__empty { margin: 0; padding: .8rem; border-radius: 14px; background: #f7fbfd; color: #6f7b85; }
@media (max-width: 760px) {
  .qh-head-office-driver-children__forms { grid-template-columns: 1fr; }
  .qh-head-office-driver-children__header { display: grid; }
  .qh-head-office-driver-child-row { align-items: flex-start; }
  .qh-head-office-driver-child-row form { flex: 0 0 auto; }
}
