/* Cloudflare BuyerFinder PWA authority layer. */
body.buyerfinder-pwa {
  min-height: 100dvh;
  color-scheme: dark;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.buyerfinder-pwa,
.buyerfinder-pwa * {
  min-width: 0;
}

.buyerfinder-pwa .brand-lockup {
  align-items: center !important;
}

.buyerfinder-pwa .brand-orb {
  display: none !important;
}

.buyerfinder-pwa .brand-text::before {
  content: "";
  display: block;
  width: min(190px, 100%);
  height: 45px;
  margin-bottom: 3px;
  background: url("/assets/carkonnect-logo-header.png") left center / contain no-repeat;
  filter: drop-shadow(0 8px 14px rgba(0, 0, 0, .35)) saturate(1.08);
}

.buyerfinder-pwa .brand-text strong {
  font-size: 0 !important;
}

.buyerfinder-pwa .brand-text span {
  color: rgba(221, 237, 247, .72) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

.buyerfinder-pwa .status-pill.cloudflare-staff {
  border-color: rgba(33, 223, 186, .22) !important;
  background: rgba(33, 223, 186, .085) !important;
  color: #d9fff7 !important;
}

.buyerfinder-pwa .install-app-btn {
  border-color: rgba(255, 255, 255, .15) !important;
  background: rgba(255, 255, 255, .07) !important;
  color: var(--bf-text, #f7fbff) !important;
}

.buyerfinder-pwa .install-app-btn[hidden] {
  display: none !important;
}

.buyerfinder-pwa .app-frame,
.buyerfinder-pwa .workspace,
.buyerfinder-pwa .surface,
.buyerfinder-pwa .command-hero,
.buyerfinder-pwa .route-card,
.buyerfinder-pwa .summary-tile,
.buyerfinder-pwa .admin-card,
.buyerfinder-pwa .guide-card,
.buyerfinder-pwa .btn,
.buyerfinder-pwa .nav-item,
.buyerfinder-pwa input,
.buyerfinder-pwa select,
.buyerfinder-pwa textarea {
  max-width: 100%;
}

.buyerfinder-pwa .surface,
.buyerfinder-pwa .route-card,
.buyerfinder-pwa .summary-tile,
.buyerfinder-pwa .admin-card,
.buyerfinder-pwa .guide-card,
.buyerfinder-pwa .qa-kpi,
.buyerfinder-pwa .ops-kpi {
  overflow: hidden !important;
}

.buyerfinder-pwa .btn,
.buyerfinder-pwa .tab,
.buyerfinder-pwa .status-pill,
.buyerfinder-pwa .badge,
.buyerfinder-pwa .chip {
  overflow-wrap: anywhere;
}

.buyerfinder-pwa input,
.buyerfinder-pwa select,
.buyerfinder-pwa textarea {
  overflow: hidden;
  text-overflow: ellipsis;
}

.buyerfinder-pwa textarea {
  overflow: auto;
}

.connection-banner {
  position: fixed;
  z-index: 80;
  top: 18px;
  left: 50%;
  max-width: calc(100% - 28px);
  padding: 10px 13px;
  transform: translate(-50%, -14px);
  border: 1px solid rgba(244, 199, 107, .38);
  border-radius: 8px;
  opacity: 0;
  pointer-events: none;
  color: #fff4cf;
  background: rgba(41, 28, 7, .96);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .28);
  font-size: 12px;
  font-weight: 850;
  transition: opacity .16s ease, transform .16s ease;
}

.connection-banner.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (min-width: 1181px) {
  .buyerfinder-pwa .command-hero {
    min-height: 168px !important;
  }

  .buyerfinder-pwa .hero-actions {
    max-width: 440px;
  }

  .buyerfinder-pwa .control-grid {
    grid-template-columns: minmax(0, 1.28fr) minmax(320px, .72fr) !important;
  }

  .buyerfinder-pwa .side-stack {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 1400px) {
  .buyerfinder-pwa .workspace {
    padding-right: 28px !important;
  }

  .buyerfinder-pwa .command-hero h1 {
    font-size: clamp(44px, 4vw, 64px) !important;
  }
}

@media (orientation: landscape) and (max-height: 680px) {
  .buyerfinder-pwa {
    --rail: 82px !important;
  }

  .buyerfinder-pwa .app-frame {
    grid-template-columns: var(--rail) minmax(0, 1fr) !important;
  }

  .buyerfinder-pwa .rail {
    position: sticky !important;
    top: 0 !important;
    height: 100dvh !important;
    padding: 6px !important;
  }

  .buyerfinder-pwa .rail-inner {
    max-height: calc(100dvh - 12px) !important;
    padding: 6px !important;
    gap: 5px !important;
    border-radius: 8px !important;
    overflow-y: auto !important;
  }

  .buyerfinder-pwa .brand-lockup {
    justify-content: center !important;
    padding: 4px 0 6px !important;
  }

  .buyerfinder-pwa .brand-text::before {
    width: 56px !important;
    height: 30px !important;
    margin: 0 auto !important;
    background-image: url("/assets/carkonnect-mark.png") !important;
    background-position: center !important;
  }

  .buyerfinder-pwa .brand-text span,
  .buyerfinder-pwa .rail-card,
  .buyerfinder-pwa .rail-footer {
    display: none !important;
  }

  .buyerfinder-pwa .nav-stack {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .buyerfinder-pwa .nav-item {
    min-height: 35px !important;
    padding: 5px !important;
    grid-template-columns: 1fr !important;
    grid-template-areas: "num" !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .buyerfinder-pwa .nav-item span {
    width: 27px !important;
    height: 24px !important;
    font-size: 10px !important;
  }

  .buyerfinder-pwa .nav-item strong,
  .buyerfinder-pwa .nav-item em {
    display: none !important;
  }

  .buyerfinder-pwa .workspace {
    padding: 7px 9px 16px 0 !important;
  }

  .buyerfinder-pwa .command-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(210px, .52fr) !important;
    min-height: 0 !important;
    margin-bottom: 8px !important;
    padding: 11px !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .buyerfinder-pwa .pill-row {
    display: flex !important;
    gap: 5px !important;
    margin-bottom: 6px !important;
  }

  .buyerfinder-pwa .pill-row .status-pill:nth-child(n+4) {
    display: none !important;
  }

  .buyerfinder-pwa .command-hero h1 {
    font-size: clamp(23px, 4.4vw, 32px) !important;
    line-height: 1 !important;
    margin-bottom: 5px !important;
  }

  .buyerfinder-pwa .command-hero p {
    max-width: 620px !important;
    font-size: 11px !important;
    line-height: 1.34 !important;
  }

  .buyerfinder-pwa .hero-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 6px !important;
  }

  .buyerfinder-pwa .hero-actions .btn {
    min-height: 35px !important;
    padding: 7px 8px !important;
    font-size: 10.5px !important;
  }

  .buyerfinder-pwa .control-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(240px, .92fr) !important;
    gap: 8px !important;
  }

  .buyerfinder-pwa .surface,
  .buyerfinder-pwa .route-card,
  .buyerfinder-pwa .summary-tile {
    padding: 11px !important;
  }

  .buyerfinder-pwa .surface-head,
  .buyerfinder-pwa .mini-head,
  .buyerfinder-pwa .result-top,
  .buyerfinder-pwa .ri-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
    margin-bottom: 8px !important;
  }

  .buyerfinder-pwa h2 {
    font-size: 18px !important;
  }

  .buyerfinder-pwa h3 {
    font-size: 13px !important;
  }

  .buyerfinder-pwa p,
  .buyerfinder-pwa .route-reason,
  .buyerfinder-pwa .route-meta {
    font-size: 11px !important;
    line-height: 1.34 !important;
  }

  .buyerfinder-pwa label {
    font-size: 9px !important;
  }

  .buyerfinder-pwa input,
  .buyerfinder-pwa select,
  .buyerfinder-pwa textarea {
    min-height: 38px !important;
    padding: 8px 9px !important;
    font-size: 12px !important;
  }

  .buyerfinder-pwa textarea {
    min-height: 74px !important;
  }

  .buyerfinder-pwa .field-grid.four,
  .buyerfinder-pwa .field-grid.two,
  .buyerfinder-pwa .reality-input-grid,
  .buyerfinder-pwa .ops-generate-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .buyerfinder-pwa .summary-deck,
  .buyerfinder-pwa .admin-grid,
  .buyerfinder-pwa .quote-kpi-grid,
  .buyerfinder-pwa .qa-kpi-grid,
  .buyerfinder-pwa .ops-kpi-grid,
  .buyerfinder-pwa .reality-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
}

@media (orientation: landscape) and (max-width: 780px) {
  .buyerfinder-pwa {
    --rail: 64px !important;
  }

  .buyerfinder-pwa .command-hero {
    grid-template-columns: 1fr !important;
  }

  .buyerfinder-pwa .hero-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .buyerfinder-pwa .hero-actions .btn {
    min-height: 32px !important;
    padding: 6px !important;
    font-size: 9.5px !important;
  }

  .buyerfinder-pwa .control-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) and (orientation: portrait) {
  .buyerfinder-pwa .brand-text::before {
    width: 154px;
    height: 32px;
    margin-bottom: 0;
  }

  .buyerfinder-pwa .brand-text span {
    display: none !important;
  }

  .buyerfinder-pwa .rail {
    backdrop-filter: blur(20px);
  }

  .buyerfinder-pwa .rail-inner {
    gap: 6px !important;
    padding: 7px !important;
  }

  .buyerfinder-pwa .brand-lockup {
    padding: 3px 4px 7px !important;
  }

  .buyerfinder-pwa .nav-stack {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  .buyerfinder-pwa .nav-item {
    min-height: 45px !important;
    padding: 6px 4px !important;
  }

  .buyerfinder-pwa .nav-item span {
    width: 22px !important;
    height: 20px !important;
    font-size: 9px !important;
  }

  .buyerfinder-pwa .nav-item strong {
    font-size: 10px !important;
    line-height: 1.05 !important;
  }

  .buyerfinder-pwa .command-hero {
    padding: 15px !important;
  }

  .buyerfinder-pwa .command-hero h1 {
    font-size: 29px !important;
    line-height: 1.02 !important;
  }

  .buyerfinder-pwa .command-hero p {
    font-size: 12px !important;
    line-height: 1.38 !important;
  }

  .buyerfinder-pwa .pill-row {
    gap: 6px !important;
    margin-bottom: 8px !important;
  }

  .buyerfinder-pwa .pill-row .status-pill:nth-child(n+3) {
    display: none !important;
  }

  .buyerfinder-pwa .status-pill {
    padding: 7px 9px !important;
    font-size: 11px !important;
  }

  .buyerfinder-pwa .hero-actions,
  .buyerfinder-pwa .admin-actions,
  .buyerfinder-pwa .ops-actions,
  .buyerfinder-pwa .qa-actions,
  .buyerfinder-pwa .card-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .buyerfinder-pwa .hero-actions .btn,
  .buyerfinder-pwa .admin-actions .btn,
  .buyerfinder-pwa .ops-actions .btn,
  .buyerfinder-pwa .qa-actions .btn,
  .buyerfinder-pwa .card-actions .btn {
    min-height: 39px !important;
    padding: 8px 9px !important;
    font-size: 11px !important;
  }

  .buyerfinder-pwa .field-grid.two,
  .buyerfinder-pwa .field-grid.four,
  .buyerfinder-pwa .summary-deck,
  .buyerfinder-pwa .admin-grid,
  .buyerfinder-pwa .quote-kpi-grid,
  .buyerfinder-pwa .qa-kpi-grid,
  .buyerfinder-pwa .ops-kpi-grid,
  .buyerfinder-pwa .reality-kpi-grid,
  .buyerfinder-pwa .guide-grid {
    grid-template-columns: 1fr !important;
  }

  .connection-banner {
    top: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .buyerfinder-pwa *,
  .buyerfinder-pwa *::before,
  .buyerfinder-pwa *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
