/* Get It Moving - Single Clean Premium Admin UI */
/* CSS-only layout: no DOM duplication, no section moving */

html.gim-single-clean-premium,
html.gim-single-clean-premium body {
  margin: 0 !important;
  min-height: 100vh !important;
  width: 100% !important;
  background:
    radial-gradient(circle at 24% 14%, rgba(59, 130, 246, 0.22), transparent 34%),
    radial-gradient(circle at 82% 0%, rgba(14, 165, 233, 0.13), transparent 32%),
    linear-gradient(135deg, #151a22 0%, #232b37 45%, #171b24 100%) !important;
  color: #f8fafc !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  line-height: 1.45 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

html.gim-single-clean-premium * {
  box-sizing: border-box !important;
}

html.gim-single-clean-premium #root,
html.gim-single-clean-premium #root > div,
html.gim-single-clean-premium main {
  width: min(1580px, calc(100vw - 18px)) !important;
  max-width: 1580px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html.gim-single-clean-premium #root > div,
html.gim-single-clean-premium main {
  padding: 12px 0 56px !important;
}

html.gim-single-clean-premium h1 {
  color: #ffffff !important;
  font-size: clamp(24px, 2.2vw, 36px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
  margin: 0 0 5px !important;
}

html.gim-single-clean-premium h2,
html.gim-single-clean-premium h3 {
  color: #ffffff !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 8px !important;
}

html.gim-single-clean-premium p,
html.gim-single-clean-premium span,
html.gim-single-clean-premium div,
html.gim-single-clean-premium li,
html.gim-single-clean-premium label {
  color: inherit !important;
  overflow-wrap: anywhere !important;
}

html.gim-single-clean-premium section,
html.gim-single-clean-premium article,
html.gim-single-clean-premium [class*="card"],
html.gim-single-clean-premium [class*="panel"] {
  max-width: 100% !important;
}

html.gim-single-clean-premium section,
html.gim-single-clean-premium article {
  color: #f8fafc !important;
  background:
    linear-gradient(180deg, rgba(70, 80, 96, 0.72), rgba(34, 40, 52, 0.82)) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 18px !important;
  box-shadow:
    0 18px 45px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  padding: 15px !important;
  margin: 12px 0 !important;
  backdrop-filter: blur(16px) !important;
  overflow: visible !important;
}

/* Forms */
html.gim-single-clean-premium label {
  display: block !important;
  color: #f1f5f9 !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  margin: 8px 0 4px !important;
}

html.gim-single-clean-premium input,
html.gim-single-clean-premium select,
html.gim-single-clean-premium textarea {
  width: 100% !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  margin: 4px 0 10px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  background: rgba(99, 111, 128, 0.48) !important;
  color: #ffffff !important;
  outline: none !important;
  font-weight: 700 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 6px 18px rgba(0, 0, 0, 0.10) !important;
}

html.gim-single-clean-premium input::placeholder,
html.gim-single-clean-premium textarea::placeholder {
  color: #d1d5db !important;
}

html.gim-single-clean-premium input:focus,
html.gim-single-clean-premium select:focus,
html.gim-single-clean-premium textarea:focus {
  border-color: #93c5fd !important;
  box-shadow: 0 0 0 3px rgba(147, 197, 253, 0.18) !important;
}

/* Buttons */
html.gim-single-clean-premium button,
html.gim-single-clean-premium a[role="button"],
html.gim-single-clean-premium input[type="button"],
html.gim-single-clean-premium input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: max-content !important;
  min-height: 38px !important;
  padding: 9px 14px !important;
  margin: 4px 6px 4px 0 !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  background: linear-gradient(135deg, #4f46e5, #2563eb) !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.25) !important;
  position: relative !important;
  transform: none !important;
}

html.gim-single-clean-premium button:hover {
  filter: brightness(1.08) !important;
}

html.gim-single-clean-premium button:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

html.gim-single-clean-premium button[class*="delete" i],
html.gim-single-clean-premium button[class*="danger" i],
html.gim-single-clean-premium button[class*="reject" i],
html.gim-single-clean-premium button[class*="logout" i] {
  background: linear-gradient(135deg, #ef4444, #dc2626) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(220, 38, 38, 0.25) !important;
}

/* Prevent old blue driver boxes */
html.gim-single-clean-premium .gim-driver-row,
html.gim-single-clean-premium .gim-driver-list-card-clean,
html.gim-single-clean-premium .gim-driver-list-card-clean *,
html.gim-single-clean-premium .gim-driver-row * {
  background-image: none !important;
  box-shadow: none !important;
  outline: none !important;
  transform: none !important;
}

/* Driver section: clean normal layout */
html.gim-single-clean-premium section:has(h2, h3),
html.gim-single-clean-premium article:has(h2, h3) {
  overflow: visible !important;
}

html.gim-single-clean-premium section:has(input[placeholder*="Search" i]) {
  overflow: visible !important;
}

/* Any driver-like row should be calm, not neon */
html.gim-single-clean-premium div:has(> span):has([class*="pill"]),
html.gim-single-clean-premium li {
  max-width: 100% !important;
}

/* Status pills */
html.gim-single-clean-premium span,
html.gim-single-clean-premium small {
  max-width: 100% !important;
}

html.gim-single-clean-premium [class*="pill"],
html.gim-single-clean-premium [class*="badge"],
html.gim-single-clean-premium [class*="status"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: max-content !important;
  min-height: 26px !important;
  padding: 5px 10px !important;
  margin: 4px 6px 4px 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  background: rgba(255, 255, 255, 0.10) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

/* Tables / rows */
html.gim-single-clean-premium table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 8px !important;
}

html.gim-single-clean-premium td,
html.gim-single-clean-premium th {
  color: #f8fafc !important;
  padding: 10px !important;
  vertical-align: middle !important;
}

/* Remove stale helper layouts completely */
html.gim-single-clean-premium .gim-cc-nav,
html.gim-single-clean-premium .gim-elite-sidebar,
html.gim-single-clean-premium .gim-elite-shell,
html.gim-single-clean-premium aside.gim-elite-sidebar {
  display: none !important;
}

/* Let the whole page scroll, not hidden half panels */
html.gim-single-clean-premium section,
html.gim-single-clean-premium article,
html.gim-single-clean-premium div {
  max-height: none !important;
}

/* But make very long quote/catalog areas readable without duplicating DOM */
html.gim-single-clean-premium section:has(button):has(input):has(label) {
  overflow: visible !important;
}

/* Responsive */
@media (max-width: 900px) {
  html.gim-single-clean-premium #root,
  html.gim-single-clean-premium #root > div,
  html.gim-single-clean-premium main {
    width: calc(100vw - 12px) !important;
  }

  html.gim-single-clean-premium button {
    max-width: 100% !important;
  }
}

/* PRICING ENGINE CLEANUP - keep premium look, remove duplicate nested background */
html.gim-single-clean-premium .gim-section-pricing-engine-clean {
  background:
    linear-gradient(180deg, rgba(70, 80, 96, 0.72), rgba(34, 40, 52, 0.82)) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 18px !important;
  box-shadow:
    0 18px 45px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  overflow: visible !important;
}

/* Remove the second/ghost background inside Pricing Engine */
html.gim-single-clean-premium .gim-section-pricing-engine-clean section,
html.gim-single-clean-premium .gim-section-pricing-engine-clean article,
html.gim-single-clean-premium .gim-section-pricing-engine-clean [class*="card"],
html.gim-single-clean-premium .gim-section-pricing-engine-clean [class*="panel"],
html.gim-single-clean-premium .gim-section-pricing-engine-clean .gim-pricing-engine-form-clean {
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Keep only the form fields styled, not the wrapper backgrounds */
html.gim-single-clean-premium .gim-section-pricing-engine-clean .gim-pricing-engine-form-clean {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(160px, 1fr)) !important;
  gap: 10px 14px !important;
  align-items: end !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 12px 0 0 !important;
}

html.gim-single-clean-premium .gim-section-pricing-engine-clean .gim-pricing-engine-form-clean > * {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  min-width: 0 !important;
}

/* Meta line and success message should sit cleanly, not inside another card */
html.gim-single-clean-premium .gim-section-pricing-engine-clean .gim-pricing-engine-meta-clean {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 8px 0 10px !important;
  color: #cbd5e1 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

html.gim-single-clean-premium .gim-section-pricing-engine-clean input,
html.gim-single-clean-premium .gim-section-pricing-engine-clean select {
  background: rgba(99, 111, 128, 0.48) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 6px 18px rgba(0, 0, 0, 0.10) !important;
}

@media (max-width: 1100px) {
  html.gim-single-clean-premium .gim-section-pricing-engine-clean .gim-pricing-engine-form-clean {
    grid-template-columns: repeat(2, minmax(150px, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  html.gim-single-clean-premium .gim-section-pricing-engine-clean .gim-pricing-engine-form-clean {
    grid-template-columns: 1fr !important;
  }
}

/* FINAL CLEANUP: remove duplicate/nested premium backgrounds while keeping main cards */
html.gim-single-clean-premium section section,
html.gim-single-clean-premium section article,
html.gim-single-clean-premium article section,
html.gim-single-clean-premium article article {
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Remove ghost panels inside pricing, catalog, drivers, jobs */
html.gim-single-clean-premium section section > section,
html.gim-single-clean-premium section section > article,
html.gim-single-clean-premium section article > section,
html.gim-single-clean-premium section article > article {
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Keep inputs/buttons readable after removing nested backgrounds */
html.gim-single-clean-premium section section input,
html.gim-single-clean-premium section section select,
html.gim-single-clean-premium section section textarea,
html.gim-single-clean-premium section article input,
html.gim-single-clean-premium section article select,
html.gim-single-clean-premium section article textarea {
  background: rgba(99, 111, 128, 0.48) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 6px 18px rgba(0, 0, 0, 0.10) !important;
}

/* Job/customer/business rows: clean single-layer rows */
html.gim-single-clean-premium section:has(button) section,
html.gim-single-clean-premium article:has(button) article {
  border-radius: 14px !important;
}

/* Stop any stale bright-blue driver/card styling from showing */
html.gim-single-clean-premium [class*="gim-driver"],
html.gim-single-clean-premium [class*="gim-driver"] * {
  background-image: none !important;
  outline: none !important;
  transform: none !important;
}

/* Keep main page full width */
html.gim-single-clean-premium #root,
html.gim-single-clean-premium #root > div,
html.gim-single-clean-premium main {
  width: min(1580px, calc(100vw - 18px)) !important;
  max-width: 1580px !important;
}


/* FINAL_QUOTE_CATALOG_VISUAL_CLEANUP START */
html.gim-single-clean-premium section:has(input):has(button):has(label) section,
html.gim-single-clean-premium section:has(input):has(button):has(label) article {
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

html.gim-single-clean-premium section:has(input):has(button):has(label) input,
html.gim-single-clean-premium section:has(input):has(button):has(label) select {
  background: rgba(99, 111, 128, 0.48) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

html.gim-single-clean-premium section:has(input):has(button):has(label) {
  overflow: visible !important;
}
/* FINAL_QUOTE_CATALOG_VISUAL_CLEANUP END */
