/* =========================================================
   MoveDone Update 089
   Supplier / Partner portal blue theme
   ========================================================= */

:root {
  --md-supplier-blue: #2f6fed;
  --md-supplier-blue-dark: #1f56c5;
  --md-supplier-blue-soft: #eef4ff;
  --md-supplier-blue-soft-2: #f7f9ff;
  --md-supplier-blue-line: #d9e3fb;
}

/* ---------------------------------------------------------
   Supplier pages: MoveDone consumer coral becomes Supplier Blue.
   Semantic colours (green success, amber warning, red destructive)
   remain intact.
   --------------------------------------------------------- */

body[class*="partner"] {
  --md-coral: var(--md-supplier-blue);
  --md-coral-dark: var(--md-supplier-blue-dark);
  --md-coral-soft: var(--md-supplier-blue-soft);
}

/* Main supplier page canvas */
body[class*="partner"],
.partner-dashboard-page,
.partner-page,
.partner-settings-page {
  background: #f9fbff !important;
}

.partner-dashboard-main {
  background:
    radial-gradient(
      circle at 92% 8%,
      rgba(47,111,237,.09),
      transparent 27%
    ),
    #f9fbff !important;
}

.partner-onboard-main,
.partner-settings-main {
  background:
    radial-gradient(
      circle at 90% 5%,
      rgba(47,111,237,.08),
      transparent 30%
    ),
    #f9fbff !important;
}

/* Header */
body[class*="partner"] .site-header {
  background: rgba(249,251,255,.96) !important;
  border-bottom-color: #e4eaf5 !important;
}

/* Same MoveDone tick shape; Supplier Blue identity */
body[class*="partner"] .brand-check-pro,
body[class*="partner"] .brand-mark {
  background: var(--md-supplier-blue) !important;
  color: #fff !important;
  border-color: var(--md-supplier-blue) !important;
  box-shadow: 0 7px 18px rgba(47,111,237,.16) !important;
}

body[class*="partner"] .brand-check-pro svg,
body[class*="partner"] .brand-mark svg {
  color: #fff !important;
  fill: currentColor !important;
}

/* Brand / hero accents */
body[class*="partner"] .partner-kicker,
body[class*="partner"] .partner-dash-hero h1 span,
body[class*="partner"] .partner-hero h1 span,
body[class*="partner"] .partner-steps article > span {
  color: var(--md-supplier-blue) !important;
}

/* Main buttons */
body[class*="partner"] .button-primary,
body[class*="partner"] .partner-submit,
body[class*="partner"] button.button-primary {
  background: var(--md-supplier-blue) !important;
  border-color: var(--md-supplier-blue) !important;
  color: #fff !important;
  box-shadow: 0 9px 22px rgba(47,111,237,.16) !important;
}

body[class*="partner"] .button-primary:hover,
body[class*="partner"] .partner-submit:hover,
body[class*="partner"] button.button-primary:hover {
  background: var(--md-supplier-blue-dark) !important;
  border-color: var(--md-supplier-blue-dark) !important;
}

/* Lead delivery switch = platform control, not semantic success */
body[class*="partner"] .switch input:not(:checked) + span,
body[class*="partner"] .switch input:checked + span {
  background: var(--md-supplier-blue) !important;
}

/* Dashboard nav / controls */
body[class*="partner"] .partner-filter-tabs {
  background: #edf2fb !important;
}

body[class*="partner"] .partner-filter-tabs button.active {
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(47,111,237,.08) !important;
}

body[class*="partner"] .partner-filter-tabs button:hover {
  color: var(--md-supplier-blue-dark) !important;
}

/* Lead tags / NEW states / quote sent states */
body[class*="partner"] .partner-lead-tags span,
body[class*="partner"] .lead-result-pill.new,
body[class*="partner"] .lead-stage-badge.quote-sent,
body[class*="partner"] .quote-status-pill.submitted,
body[class*="partner"] .quote-decision-banner:not(.accepted):not(.declined):not(.not_selected) {
  background: var(--md-supplier-blue-soft) !important;
  color: var(--md-supplier-blue-dark) !important;
}

body[class*="partner"] .lead-result-pill.new,
body[class*="partner"] .lead-stage-badge.quote-sent {
  border-color: rgba(47,111,237,.12) !important;
}

/* Lead price tile remains commercial but uses Supplier Blue */
body[class*="partner"] .lead-price:not(.quoted-amount) {
  background: #f1f5ff !important;
  border-color: rgba(47,111,237,.12) !important;
}

body[class*="partner"] .lead-price:not(.quoted-amount) strong {
  color: var(--md-supplier-blue-dark) !important;
}

/* Pilot / information callouts */
body[class*="partner"] .pilot-callout,
body[class*="partner"] .partner-bottom-cta {
  background: var(--md-supplier-blue-soft) !important;
}

body[class*="partner"] .pilot-callout strong {
  color: var(--md-supplier-blue-dark) !important;
}

/* Form selection + focus */
body[class*="partner"] .partner-field input:focus,
body[class*="partner"] .partner-field select:focus,
body[class*="partner"] .partner-mini-form input:focus,
body[class*="partner"] .partner-mini-form select:focus,
body[class*="partner"] .pipeline-select:focus,
body[class*="partner"] .job-status-select:focus,
body[class*="partner"] textarea:focus {
  border-color: var(--md-supplier-blue) !important;
  box-shadow: 0 0 0 4px rgba(47,111,237,.09) !important;
}

body[class*="partner"] .partner-service-select svg {
  color: var(--md-supplier-blue) !important;
}

body[class*="partner"] .partner-service-select button.selected {
  background: var(--md-supplier-blue-soft) !important;
  border-color: var(--md-supplier-blue) !important;
}

/* Message/notification accents */
body[class*="partner"] .partner-message-alert,
body[class*="partner"] .lead-message-link.has-unread,
body[class*="partner"] .lead-envelope-button.has-unread {
  background: var(--md-supplier-blue-soft) !important;
  border-color: rgba(47,111,237,.22) !important;
  color: var(--md-supplier-blue-dark) !important;
}

body[class*="partner"] .partner-message-alert span,
body[class*="partner"] .lead-message-link b,
body[class*="partner"] .lead-envelope-button > span {
  background: var(--md-supplier-blue) !important;
  box-shadow: 0 4px 12px rgba(47,111,237,.18) !important;
}

/* Calendar selection / active date */
body[class*="partner"] .calendar-day.today {
  box-shadow: inset 0 0 0 1px var(--md-supplier-blue) !important;
  color: var(--md-supplier-blue-dark) !important;
}

body[class*="partner"] .quote-calendar-day.selected {
  border-color: var(--md-supplier-blue) !important;
  background: var(--md-supplier-blue) !important;
  box-shadow: 0 7px 18px rgba(47,111,237,.20) !important;
}

body[class*="partner"] .quote-calendar-header span,
body[class*="partner"] .quote-calendar-footer button {
  color: var(--md-supplier-blue-dark) !important;
}

body[class*="partner"] .quote-calendar-footer button,
body[class*="partner"] .quote-calendar-nav button:hover:not(:disabled) {
  background: var(--md-supplier-blue-soft) !important;
}

/* Secondary accent links */
body[class*="partner"] .lead-notes-save,
body[class*="partner"] .lead-map-caption a,
body[class*="partner"] .lead-map-card.map-unconfigured a,
body[class*="partner"] .calendar-booking small,
body[class*="partner"] .booking-modal form > small {
  color: var(--md-supplier-blue-dark) !important;
}

/* ---------------------------------------------------------
   Preserve semantic status colours
   --------------------------------------------------------- */

/* Success / won / accepted stays green */
body[class*="partner"] .lead-result-pill.won,
body[class*="partner"] .lead-stage-badge.won,
body[class*="partner"] .lead-stage-badge.booked,
body[class*="partner"] .lead-stage-badge.scheduled,
body[class*="partner"] .lead-stage-badge.in_progress,
body[class*="partner"] .lead-stage-badge.completed,
body[class*="partner"] .lead-stage-badge.invoiced,
body[class*="partner"] .lead-stage-badge.paid,
body[class*="partner"] .quote-status-pill.accepted,
body[class*="partner"] .quote-decision-banner.accepted,
body[class*="partner"] .lead-contact,
body[class*="partner"] .lead-price.quoted-amount {
  /* retain existing semantic green styles */
}

/* Stripe test stays amber/gold */
body[class*="partner"] .partner-test-pill {
  background: #fff3c7 !important;
  color: #7d5a00 !important;
}

/* Destructive actions stay red */
body[class*="partner"] a[data-partner-logout],
body[class*="partner"] .partner-logout,
body[class*="partner"] #partner-logout,
body[class*="partner"] [data-logout] {
  color: #b8463d !important;
}

/* Tender availability remains green: it describes a positive available state */
body[class*="partner"] .tender-slot-pill:not(.last):not(.full):not(.closed),
body[class*="partner"] .tender-card-rule:not(.last):not(.full):not(.closed),
body[class*="partner"] .tender-modal-status:not(.last):not(.full):not(.closed) {
  /* Update 077 semantic green remains untouched */
}

/* Blue-tinted cards and borders give the portal its own identity */
body[class*="partner"] .partner-dashboard-primary,
body[class*="partner"] .partner-side-card,
body[class*="partner"] .partner-stat-grid article,
body[class*="partner"] .lead-toggle-card,
body[class*="partner"] .partner-form-card,
body[class*="partner"] .settings-card {
  border-color: #e0e7f5 !important;
  box-shadow: 0 12px 38px rgba(40,72,132,.045) !important;
}

/* Mobile */
@media (max-width: 720px) {
  body[class*="partner"] .partner-dashboard-main,
  body[class*="partner"] .partner-onboard-main,
  body[class*="partner"] .partner-settings-main {
    background: #f9fbff !important;
  }
}
