/*
  BidRoute Quarry V3 — High Contrast
  Visual-only redesign: limestone paper, blueprint ink, aged brass, fired clay.
  Loads after page CSS so routes, forms, IDs, and application behavior remain intact.
*/
@charset "UTF-8";

:root {
  --q-ink: #182a3e;
  --q-blueprint: #1b3047;
  --q-blueprint-deep: #102033;
  --q-gold: #c4995a;
  --q-gold-deep: #9f743c;
  --q-paper: #f7f4ee;
  --q-porcelain: #fffdfa;
  --q-rust: #965b43;
  --q-rust-deep: #794532;
  --q-slate: #586879;
  --q-slate-deep: #405164;
  --q-mist: #eaf0f4;
  --q-line: #d9d1c6;
  --q-line-strong: #bdb3a5;
  --q-success: #3f6546;
  --q-danger: #93473f;
  --q-warning: #9a6a27;
  --q-grid-minor: rgba(205, 222, 235, .038);
  --q-grid-major: rgba(205, 222, 235, .078);
  --q-hard-shadow: 7px 7px 0 var(--q-ink);
  --q-paper-shadow: 10px 10px 0 rgba(217, 209, 198, .92);
  --q-soft-shadow: 0 22px 55px rgba(24, 42, 62, .12);
  --q-radius: 3px;

  /* map common legacy variables into Quarry */
  --navy: var(--q-ink);
  --deep: var(--q-blueprint-deep);
  --ink: var(--q-ink);
  --gold: var(--q-gold);
  --accent: var(--q-gold);
  --accent-dark: var(--q-gold-deep);
  --rust: var(--q-rust);
  --frost: #eaf0f4;
  --mist: #aebcca;
  --dim: var(--q-slate);
  --muted: var(--q-slate);
  --line: var(--q-line);
  --border: rgba(24, 42, 62, .17);
  --white: var(--q-porcelain);
  --surface: var(--q-porcelain);
  --paper: var(--q-paper);
  --offwhite: var(--q-paper);
  --green: var(--q-success);
  --danger: var(--q-danger);
}

html {
  scroll-behavior: smooth;
  background: var(--q-paper);
  color-scheme: light;
}

body.quarry-v3 {
  margin: 0 !important;
  min-height: 100vh;
  overflow-x: hidden;
  background:
    linear-gradient(90deg, rgba(24,42,62,.018) 1px, transparent 1px),
    var(--q-paper) !important;
  background-size: 48px 48px !important;
  color: var(--q-ink) !important;
  font-family: "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 15px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.quarry-v3::before {
  content: "";
  position: fixed;
  inset: 0 0 auto 0;
  height: 4px;
  z-index: 99999;
  background: linear-gradient(90deg, var(--q-rust) 0 31%, var(--q-gold) 31% 66%, var(--q-ink) 66% 100%);
  pointer-events: none;
}

body.quarry-v3 *,
body.quarry-v3 *::before,
body.quarry-v3 *::after { box-sizing: border-box; }
body.quarry-v3 ::selection { color: var(--q-ink); background: #dfc28f; }
body.quarry-v3 img, body.quarry-v3 svg, body.quarry-v3 video { max-width: 100%; }
body.quarry-v3 a { text-underline-offset: .2em; text-decoration-thickness: 1px; }

body.quarry-v3 a:focus-visible,
body.quarry-v3 button:focus-visible,
body.quarry-v3 input:focus-visible,
body.quarry-v3 select:focus-visible,
body.quarry-v3 textarea:focus-visible,
body.quarry-v3 summary:focus-visible,
body.quarry-v3 [tabindex]:focus-visible {
  outline: 3px solid #ddb977 !important;
  outline-offset: 3px !important;
}

/* Typography: constructed, practical, never decorative-italic. */
body.quarry-v3 h1,
body.quarry-v3 h2,
body.quarry-v3 h3,
body.quarry-v3 h4,
body.quarry-v3 h5,
body.quarry-v3 h6,
body.quarry-v3 .hero-title,
body.quarry-v3 .page-title,
body.quarry-v3 .section-title,
body.quarry-v3 .panel-tagline,
body.quarry-v3 .bottom-cta-h,
body.quarry-v3 .form-title,
body.quarry-v3 .card-title,
body.quarry-v3 .empty-title,
body.quarry-v3 .aff-h2,
body.quarry-v3 .aff-hero-title {
  margin-top: 0;
  font-family: "Arial Narrow", "Avenir Next Condensed", "Franklin Gothic Medium", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
  color: var(--q-ink);
  letter-spacing: -.038em !important;
  line-height: 1.02 !important;
  text-wrap: balance;
}
body.quarry-v3 h1 { letter-spacing: -.055em !important; }
body.quarry-v3 h3, body.quarry-v3 h4 { letter-spacing: -.025em !important; line-height: 1.12 !important; }
body.quarry-v3 h1 em, body.quarry-v3 h2 em, body.quarry-v3 h3 em,
body.quarry-v3 .form-title em, body.quarry-v3 .aff-h2 em,
body.quarry-v3 .pillar-title em, body.quarry-v3 .card-title em {
  font: inherit !important;
  color: inherit !important;
}
body.quarry-v3 p, body.quarry-v3 li, body.quarry-v3 label,
body.quarry-v3 input, body.quarry-v3 textarea, body.quarry-v3 select,
body.quarry-v3 button, body.quarry-v3 td, body.quarry-v3 th {
  font-family: "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
}
body.quarry-v3 .eyebrow,
body.quarry-v3 .kicker,
body.quarry-v3 .section-label,
body.quarry-v3 .section-eyebrow,
body.quarry-v3 .page-eyebrow,
body.quarry-v3 .panel-tag,
body.quarry-v3 .stat-label,
body.quarry-v3 .disc-label,
body.quarry-v3 .demo-cta-label,
body.quarry-v3 .card-label,
body.quarry-v3 .detail-label,
body.quarry-v3 .field-label,
body.quarry-v3 .aff-section-eyebrow,
body.quarry-v3 .aff-badge,
body.quarry-v3 .admin-beta-badge,
body.quarry-v3 .progress-label,
body.quarry-v3 .qv3-mono {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .105em !important;
  text-transform: uppercase !important;
}
body.quarry-v3 .eyebrow,
body.quarry-v3 .kicker,
body.quarry-v3 .section-label,
body.quarry-v3 .section-eyebrow,
body.quarry-v3 .page-eyebrow,
body.quarry-v3 .aff-section-eyebrow { color: var(--q-rust) !important; }
body.quarry-v3 small, body.quarry-v3 .muted, body.quarry-v3 .sub,
body.quarry-v3 .field-hint, body.quarry-v3 .form-fine,
body.quarry-v3 .hero-desc, body.quarry-v3 .hero-sub { color: var(--q-slate); }

/* Blueprint canvas — soft enough to read as material, not wallpaper. */
body.quarry-v3 .qv3-blueprint,
body.quarry-v3 .quarry-blueprint,
body.quarry-v3 .hero-r,
body.quarry-v3 .demo-cta-strip,
body.quarry-v3 .promo-banner,
body.quarry-v3 .aff-db-banner,
body.quarry-v3 .admin-sidebar,
body.quarry-v3 .quarry-dark-panel {
  color: var(--q-porcelain) !important;
  background-color: var(--q-blueprint) !important;
  background-image:
    linear-gradient(var(--q-grid-major) 1px, transparent 1px),
    linear-gradient(90deg, var(--q-grid-major) 1px, transparent 1px),
    linear-gradient(var(--q-grid-minor) 1px, transparent 1px),
    linear-gradient(90deg, var(--q-grid-minor) 1px, transparent 1px),
    radial-gradient(circle at 14% 8%, rgba(255,255,255,.04), transparent 42%) !important;
  background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px, 100% 100% !important;
  background-position: -1px -1px !important;
}

/* Brand */
body.quarry-v3 .qv3-brand {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: inherit;
  text-decoration: none !important;
}
body.quarry-v3 .qv3-brand-mark {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
}
body.quarry-v3 .qv3-brand-mark img { width: 30px; height: 30px; object-fit: contain; display: block; }
body.quarry-v3 .qv3-brand-word {
  white-space: nowrap;
  font-family: "Arial Narrow", "Avenir Next Condensed", Arial, sans-serif;
  font-size: 19px;
  font-weight: 900;
  letter-spacing: -.02em;
}
body.quarry-v3 .qv3-brand-word span { color: var(--q-gold); }
body.quarry-v3 .qv3-seal-large { display: block; width: 132px; margin: 0 auto 24px; filter: drop-shadow(8px 10px 0 rgba(24,42,62,.10)); }

/* Generic navigation */
body.quarry-v3 > nav,
body.quarry-v3 nav:not(.admin-notebook-tabs):not(.admin-tabs):not(.tab-bar) {
  position: relative;
  z-index: 200;
  min-height: 72px;
  padding: 14px clamp(20px, 4vw, 58px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  color: var(--q-porcelain) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  background-color: var(--q-blueprint) !important;
  background-image:
    linear-gradient(var(--q-grid-minor) 1px, transparent 1px),
    linear-gradient(90deg, var(--q-grid-minor) 1px, transparent 1px) !important;
  background-size: 24px 24px !important;
  box-shadow: none !important;
}
body.quarry-v3 > nav::after {
  content: "";
  position: absolute;
  inset: auto clamp(20px,4vw,58px) -1px clamp(20px,4vw,58px);
  height: 1px;
  background: linear-gradient(90deg, var(--q-rust), var(--q-gold) 30%, transparent 72%);
  opacity: .75;
}
body.quarry-v3 nav a,
body.quarry-v3 nav button,
body.quarry-v3 .nav-item,
body.quarry-v3 .nav-session-link {
  color: #e8edf2 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .025em !important;
  text-decoration: none !important;
}
body.quarry-v3 nav a:hover, body.quarry-v3 nav button:hover { color: var(--q-gold) !important; }
body.quarry-v3 nav .signup,
body.quarry-v3 nav .nav-cta,
body.quarry-v3 nav .button.primary {
  color: var(--q-ink) !important;
  background: var(--q-gold) !important;
  border: 1px solid var(--q-gold) !important;
  box-shadow: 4px 4px 0 rgba(0,0,0,.25) !important;
}
body.quarry-v3 .nav-r, body.quarry-v3 .nav-actions { display: flex; align-items: center; gap: 10px; }

/* Buttons */
body.quarry-v3 .btn-main,
body.quarry-v3 .btn-submit,
body.quarry-v3 .button.primary,
body.quarry-v3 .primary-btn,
body.quarry-v3 .cta-btn,
body.quarry-v3 .panel-cta,
body.quarry-v3 .banner-cta,
body.quarry-v3 button[type="submit"]:not(.icon-btn):not(.tab-btn),
body.quarry-v3 input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 0 20px !important;
  border-radius: var(--q-radius) !important;
  border: 1px solid var(--q-gold-deep) !important;
  color: var(--q-ink) !important;
  background: var(--q-gold) !important;
  box-shadow: 5px 5px 0 var(--q-ink) !important;
  font-weight: 800 !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
body.quarry-v3 .btn-main:hover,
body.quarry-v3 .btn-submit:hover,
body.quarry-v3 .button.primary:hover,
body.quarry-v3 .primary-btn:hover,
body.quarry-v3 .cta-btn:hover,
body.quarry-v3 .panel-cta:hover,
body.quarry-v3 button[type="submit"]:hover {
  transform: translate(2px,2px);
  box-shadow: 3px 3px 0 var(--q-ink) !important;
  filter: saturate(1.04);
}
body.quarry-v3 .btn-ghost,
body.quarry-v3 .button.secondary,
body.quarry-v3 .secondary-btn,
body.quarry-v3 .text-link {
  color: var(--q-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid var(--q-rust) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 8px 2px 6px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
body.quarry-v3 .danger, body.quarry-v3 .button.danger, body.quarry-v3 .btn-danger {
  color: #fff !important; background: var(--q-danger) !important; border-color: var(--q-danger) !important;
}

/* Forms */
body.quarry-v3 input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
body.quarry-v3 select,
body.quarry-v3 textarea {
  color: var(--q-ink) !important;
  background: var(--q-porcelain) !important;
  border: 1px solid var(--q-line-strong) !important;
  border-radius: 2px !important;
  box-shadow: inset 4px 0 0 rgba(24,42,62,.035) !important;
  min-height: 48px;
}
body.quarry-v3 textarea { min-height: 112px; }
body.quarry-v3 input::placeholder, body.quarry-v3 textarea::placeholder { color: #7b8894 !important; opacity: .86; }
body.quarry-v3 input:focus, body.quarry-v3 select:focus, body.quarry-v3 textarea:focus {
  border-color: var(--q-ink) !important;
  box-shadow: inset 4px 0 0 var(--q-gold) !important;
  outline: none !important;
}
body.quarry-v3 label { color: var(--q-ink); font-weight: 700; }
body.quarry-v3 input[type="checkbox"], body.quarry-v3 input[type="radio"] { accent-color: var(--q-gold-deep); }

/* Cards, panels, notices */
body.quarry-v3 .card,
body.quarry-v3 .account-card,
body.quarry-v3 .form-wrap,
body.quarry-v3 .form-card,
body.quarry-v3 .panel-card,
body.quarry-v3 .content-card,
body.quarry-v3 .job-card,
body.quarry-v3 .bid-card,
body.quarry-v3 .summary-card,
body.quarry-v3 .status-card,
body.quarry-v3 .aff-card,
body.quarry-v3 .aff-who-card,
body.quarry-v3 .setting-card,
body.quarry-v3 .admin-card,
body.quarry-v3 .detail-card {
  color: var(--q-ink) !important;
  background: var(--q-porcelain) !important;
  border: 1px solid var(--q-line) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}
body.quarry-v3 .notice,
body.quarry-v3 .alert,
body.quarry-v3 .flash,
body.quarry-v3 .success-msg,
body.quarry-v3 .error-msg,
body.quarry-v3 .demo-banner,
body.quarry-v3 .test-persona-banner,
body.quarry-v3 .mirror-banner {
  border-radius: 2px !important;
  border: 1px solid var(--q-line-strong) !important;
  border-left: 6px solid var(--q-rust) !important;
  color: var(--q-ink) !important;
  background: #f1e8d8 !important;
  box-shadow: none !important;
}
body.quarry-v3 .success, body.quarry-v3 .notice.success { border-left-color: var(--q-success) !important; background: #e8efe8 !important; }
body.quarry-v3 .error, body.quarry-v3 .notice.error { border-left-color: var(--q-danger) !important; background: #f4e5e1 !important; }

/* Tables become ledgers rather than rounded cards. */
body.quarry-v3 table {
  width: 100%;
  border-collapse: collapse !important;
  color: var(--q-ink) !important;
  background: var(--q-porcelain) !important;
  border: 1px solid var(--q-line) !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
body.quarry-v3 thead th {
  color: var(--q-slate-deep) !important;
  background: #ede8df !important;
  border-bottom: 2px solid var(--q-ink) !important;
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace !important;
  font-size: 10px !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}
body.quarry-v3 th, body.quarry-v3 td { border-bottom: 1px solid var(--q-line) !important; }
body.quarry-v3 tbody tr:hover { background: rgba(196,153,90,.08) !important; }

/* Generic page frames */
body.quarry-v3 > .main,
body.quarry-v3 > main.main,
body.quarry-v3 > .page,
body.quarry-v3 > main.page,
body.quarry-v3 > .wrap,
body.quarry-v3 > main.account-shell,
body.quarry-v3 > .page-content,
body.quarry-v3 > #main-content {
  position: relative;
}
body.quarry-v3 .qv3-page-code {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 22px;
  color: var(--q-rust);
  font: 700 10px/1 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: .11em;
  text-transform: uppercase;
}
body.quarry-v3 .qv3-page-code::before { content: ""; width: 34px; height: 3px; background: var(--q-rust); }

/* =========================================================
   CUSTOM QUARRY HOMEPAGE
   ========================================================= */
body.page-bidroute-mobile { background: var(--q-paper) !important; }
.q-home { background: var(--q-paper); color: var(--q-ink); }
.q-home .q-home-nav {
  max-width: none;
  padding-left: max(28px, calc((100vw - 1320px)/2 + 28px)) !important;
  padding-right: max(28px, calc((100vw - 1320px)/2 + 28px)) !important;
}
.q-home .q-home-nav .nav-r { flex-wrap: wrap; justify-content: flex-end; }
.q-home .q-home-nav .nav-item { padding: 8px 0; border-bottom: 1px solid transparent; }
.q-home .q-home-nav .nav-item:hover { border-bottom-color: var(--q-gold); }
.q-home .q-home-nav .signup { padding: 10px 14px !important; }
.q-home-hero {
  max-width: 1320px;
  margin: 0 auto;
  padding: clamp(58px, 7vw, 96px) 32px clamp(72px, 8vw, 110px);
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(430px, .98fr);
  gap: clamp(44px, 7vw, 108px);
  align-items: center;
}
.q-home-copy .qv3-page-code { margin-bottom: 26px; }
.q-home-copy h1 {
  margin: 0;
  max-width: 720px;
  font-size: clamp(54px, 6.25vw, 94px) !important;
  line-height: .94 !important;
}
.q-home-copy .hero-desc {
  max-width: 680px;
  margin: 28px 0 0;
  color: var(--q-slate) !important;
  font-size: clamp(17px,1.5vw,21px);
  line-height: 1.62;
}
.q-home-copy .hero-note {
  margin: 18px 0 0;
  padding-left: 16px;
  border-left: 3px solid var(--q-rust);
  color: var(--q-slate-deep);
  font-size: 13px;
  font-weight: 650;
}
.q-home-actions { display: flex; align-items: center; gap: 22px; margin-top: 34px; flex-wrap: wrap; }
.q-home-facts {
  list-style: none;
  margin: 42px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  color: var(--q-slate-deep);
  font: 700 10px/1.4 ui-monospace, "SFMono-Regular", Menlo, monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.q-home-facts li { display: flex; align-items: center; gap: 9px; }
.q-home-facts li::before { content: ""; width: 7px; height: 7px; background: var(--q-rust); transform: rotate(45deg); }
.q-home-board {
  position: relative;
  min-height: 560px;
  padding: 32px;
  color: var(--q-porcelain);
  background-color: var(--q-blueprint);
  background-image:
    linear-gradient(var(--q-grid-major) 1px, transparent 1px),
    linear-gradient(90deg, var(--q-grid-major) 1px, transparent 1px),
    linear-gradient(var(--q-grid-minor) 1px, transparent 1px),
    linear-gradient(90deg, var(--q-grid-minor) 1px, transparent 1px) !important;
  background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px !important;
  box-shadow: 18px 18px 0 #ded7cc;
  overflow: hidden;
}
.q-home-board::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 18% 10%, rgba(255,255,255,.045), transparent 44%), linear-gradient(180deg, transparent, rgba(0,0,0,.08));
  pointer-events: none;
}
.q-home-board-head { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 18px; color: #cbd5de; font: 700 10px/1.2 ui-monospace, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; }
.q-home-board-seal { position: absolute; right: 25px; bottom: 20px; width: 84px; opacity: .13; filter: grayscale(1) brightness(2.3); }
.q-home-project {
  position: relative;
  z-index: 2;
  width: 70%;
  margin: 42px 0 24px;
  padding: 22px 22px 20px;
  color: var(--q-ink);
  background: var(--q-porcelain);
  border-left: 7px solid var(--q-rust);
  box-shadow: 8px 8px 0 rgba(0,0,0,.16);
}
.q-home-project small { color: var(--q-rust); font: 700 10px/1 ui-monospace, Menlo, monospace; letter-spacing: .1em; text-transform: uppercase; }
.q-home-project h3 { margin: 9px 0 6px; font-size: 22px; }
.q-home-project p { margin: 0; color: var(--q-slate); font-size: 13px; }
.q-route-spine { position: absolute; left: 35%; top: 218px; width: 26%; height: 208px; border-right: 2px solid var(--q-gold); border-top: 2px solid var(--q-gold); border-bottom: 2px solid var(--q-gold); opacity: .9; }
.q-route-spine::before, .q-route-spine::after { content: ""; position: absolute; right: -6px; width: 10px; height: 10px; background: var(--q-gold); transform: rotate(45deg); }
.q-route-spine::before { top: -6px; } .q-route-spine::after { bottom: -6px; }
.q-home-routes { position: relative; z-index: 3; width: 58%; margin-left: 40%; display: grid; gap: 12px; }
.q-route-card { padding: 15px 16px; border: 1px solid rgba(255,255,255,.17); background: rgba(255,255,255,.055); }
.q-route-card:nth-child(2) { transform: translateX(18px); color: var(--q-ink); background: var(--q-gold); border-color: var(--q-gold); }
.q-route-card b { display: block; font-size: 14px; }
.q-route-card span { display: block; margin-top: 5px; opacity: .78; font: 700 9px/1.35 ui-monospace, Menlo, monospace; letter-spacing: .07em; text-transform: uppercase; }
.q-home-proofband { border-top: 1px solid var(--q-line); border-bottom: 1px solid var(--q-line); background: rgba(255,253,250,.7); }
.q-home-proofband-inner { max-width: 1320px; margin: 0 auto; padding: 36px 32px; display: grid; grid-template-columns: 1.15fr repeat(3,1fr); }
.q-home-proof-lead { padding-right: 42px; border-right: 1px solid var(--q-line); }
.q-home-proof-lead strong { display: block; font-family: "Arial Narrow", Arial, sans-serif; font-size: 34px; font-weight: 900; letter-spacing: -.04em; line-height: 1; }
.q-home-proof-lead span { display: block; margin-top: 8px; color: var(--q-slate); font-size: 13px; }
.q-home-proof { padding: 0 28px; border-right: 1px solid var(--q-line); }
.q-home-proof:last-child { border-right: 0; }
.q-home-proof b { color: var(--q-rust); font: 700 10px/1 ui-monospace, Menlo, monospace; letter-spacing: .09em; text-transform: uppercase; }
.q-home-proof p { margin: 9px 0 0; font-size: 14px; line-height: 1.5; }
.q-home-section { max-width: 1320px; margin: 0 auto; padding: 104px 32px; }
.q-home-section-head { display: grid; grid-template-columns: .52fr 1.48fr; gap: 64px; margin-bottom: 58px; align-items: start; }
.q-home-section-head h2 { margin: 0; font-size: clamp(38px,4.2vw,62px) !important; max-width: 850px; }
.q-home-steps { border-top: 2px solid var(--q-ink); }
.q-home-step { display: grid; grid-template-columns: 105px .7fr 1.3fr 120px; gap: 28px; padding: 29px 0; border-bottom: 1px solid var(--q-line); align-items: start; }
.q-home-step .num { color: var(--q-rust); font: 700 11px/1.4 ui-monospace, Menlo, monospace; letter-spacing: .08em; }
.q-home-step h3 { margin: 0; font-size: 22px; }
.q-home-step p { margin: 0; color: var(--q-slate); line-height: 1.62; }
.q-home-step .time { color: var(--q-gold-deep); font: 700 10px/1.4 ui-monospace, Menlo, monospace; text-transform: uppercase; letter-spacing: .06em; text-align: right; }
.q-home-demo {
  padding: 68px max(32px, calc((100vw - 1256px)/2 + 32px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  color: white;
  background-color: var(--q-blueprint);
  background-image:
    linear-gradient(var(--q-grid-major) 1px, transparent 1px),
    linear-gradient(90deg, var(--q-grid-major) 1px, transparent 1px),
    linear-gradient(var(--q-grid-minor) 1px, transparent 1px),
    linear-gradient(90deg, var(--q-grid-minor) 1px, transparent 1px) !important;
  background-size: 120px 120px,120px 120px,24px 24px,24px 24px !important;
}
.q-home-demo h2 { margin: 8px 0 0; color: white; font-size: clamp(34px,3.4vw,52px) !important; }
.q-home-projects { max-width: 1320px; margin: 0 auto; padding: 84px 32px; }
.q-home-projects h2 { font-size: 35px !important; }
.q-home-project-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--q-line); border-left: 1px solid var(--q-line); }
.q-home-project-grid span { padding: 18px 16px; border-right: 1px solid var(--q-line); border-bottom: 1px solid var(--q-line); font-weight: 750; background: rgba(255,253,250,.45); }
.q-home-bottom { padding: 82px max(32px, calc((100vw - 1256px)/2 + 32px)); display: grid; grid-template-columns: 1.35fr .65fr; gap: 40px; align-items: center; }
.q-home-bottom h2 { margin: 0; font-size: clamp(44px,5vw,72px) !important; }
.q-home-bottom p { max-width: 720px; color: var(--q-slate); font-size: 17px; }
.q-home-bottom-actions { justify-self: end; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.q-home .geo-note { max-width: 1320px; margin: 0 auto; padding: 0 32px 40px; color: var(--q-rust) !important; font: 700 10px/1.4 ui-monospace, Menlo, monospace; letter-spacing: .08em; text-transform: uppercase; }
.q-home .disclosures { max-width: 1320px !important; margin: 0 auto !important; padding: 54px 32px !important; border-top: 1px solid var(--q-line) !important; color: var(--q-slate) !important; background: transparent !important; }
.q-home .disc-body { font-size: 11px !important; line-height: 1.75 !important; }
.q-home footer { padding-left: max(32px,calc((100vw - 1256px)/2 + 32px)) !important; padding-right: max(32px,calc((100vw - 1256px)/2 + 32px)) !important; }

/* =========================================================
   PRELAUNCH LANDING
   ========================================================= */
body.page-bidroute-landing .bg, body.page-bidroute-landing .grid { display: none !important; }
body.page-bidroute-landing > .wrap {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 72px 32px 100px !important;
}
body.page-bidroute-landing .hero { text-align: left !important; max-width: 980px !important; margin: 0 0 54px !important; }
body.page-bidroute-landing .hero .eyebrow { justify-content: flex-start !important; }
body.page-bidroute-landing .hero .eyebrow-line:last-child { display: none; }
body.page-bidroute-landing .hero h1 { color: var(--q-ink) !important; font-size: clamp(54px,7vw,96px) !important; }
body.page-bidroute-landing .hero p { max-width: 770px !important; margin-left: 0 !important; color: var(--q-slate) !important; font-size: 19px !important; }
body.page-bidroute-landing .toggle-wrap { justify-content: flex-start !important; margin-bottom: 22px !important; }
body.page-bidroute-landing .toggle { border: 1px solid var(--q-line-strong) !important; background: #eee8de !important; border-radius: 2px !important; padding: 4px !important; }
body.page-bidroute-landing .toggle-btn { border-radius: 1px !important; color: var(--q-slate-deep) !important; }
body.page-bidroute-landing .toggle-btn.active-homeowner,
body.page-bidroute-landing .toggle-btn.active-contractor { color: white !important; background: var(--q-blueprint) !important; box-shadow: none !important; }
body.page-bidroute-landing .panel.active {
  display: grid !important;
  grid-template-columns: 1.05fr .95fr !important;
  gap: 0 !important;
  border: 1px solid var(--q-line) !important;
  background: var(--q-porcelain) !important;
  box-shadow: var(--q-paper-shadow) !important;
}
body.page-bidroute-landing .panel .stat-row,
body.page-bidroute-landing .panel .props { grid-column: 1; }
body.page-bidroute-landing .panel .form-wrap { grid-column: 2; grid-row: 1 / span 2; margin: 0 !important; padding: 38px !important; border: 0 !important; border-left: 1px solid rgba(255,255,255,.15) !important; color: white !important; background-color: var(--q-blueprint) !important; background-image: linear-gradient(var(--q-grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--q-grid-minor) 1px,transparent 1px) !important; background-size: 24px 24px !important; border-radius: 0 !important; }
body.page-bidroute-landing .panel .form-wrap .form-title,
body.page-bidroute-landing .panel .form-wrap .form-sub { color: white !important; }
body.page-bidroute-landing .stat-row { margin: 0 !important; display: grid !important; grid-template-columns: repeat(3,1fr) !important; border-bottom: 1px solid var(--q-line) !important; }
body.page-bidroute-landing .stat { padding: 28px 24px !important; border-right: 1px solid var(--q-line) !important; background: transparent !important; border-radius: 0 !important; }
body.page-bidroute-landing .stat:last-child { border-right: 0 !important; }
body.page-bidroute-landing .stat-val { color: var(--q-rust) !important; font-family: "Arial Narrow", Arial, sans-serif !important; font-size: 28px !important; font-weight: 900 !important; }
body.page-bidroute-landing .props { padding: 12px 30px 30px !important; }
body.page-bidroute-landing .prop { border-bottom: 1px solid var(--q-line) !important; border-radius: 0 !important; background: transparent !important; padding: 24px 0 !important; }
body.page-bidroute-landing .prop-num { color: var(--q-rust) !important; }
body.page-bidroute-landing .disclaimer { margin-top: 44px !important; color: var(--q-slate) !important; }
body.page-bidroute-landing .footer-strip { border-top: 1px solid rgba(255,255,255,.12) !important; }

/* =========================================================
   WHY / CONTRACTOR MARKETING PAGES
   ========================================================= */
body.page-bidroute-why-homeowner > section.hero,
body.page-bidroute-why > section.hero,
body.page-bidroute-contractors .toggle-hero {
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(70px,8vw,110px) max(32px,calc((100vw - 1256px)/2 + 32px)) !important;
  color: white !important;
  background-color: var(--q-blueprint) !important;
  background-image: linear-gradient(var(--q-grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--q-grid-major) 1px,transparent 1px),linear-gradient(var(--q-grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--q-grid-minor) 1px,transparent 1px) !important;
  background-size: 120px 120px,120px 120px,24px 24px,24px 24px !important;
}
body.page-bidroute-why-homeowner .hero h1,
body.page-bidroute-why .hero h1,
body.page-bidroute-contractors .toggle-hero h1 { color: white !important; }
body.page-bidroute-why-homeowner .hero p,
body.page-bidroute-why .hero p,
body.page-bidroute-contractors .toggle-hero p { color: #c9d3dc !important; }
body.page-bidroute-why-homeowner .divider,
body.page-bidroute-why .divider { display: none !important; }
body.page-bidroute-why-homeowner .pillars-section,
body.page-bidroute-why .pillars-section,
body.page-bidroute-why-homeowner .stat-section,
body.page-bidroute-why .stat-section,
body.page-bidroute-why-homeowner .fit-section,
body.page-bidroute-why .fit-section,
body.page-bidroute-why-homeowner .cta-section,
body.page-bidroute-why .cta-section,
body.page-bidroute-contractors .panel,
body.page-bidroute-contractors .cta-section {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}
body.page-bidroute-why-homeowner .pillar,
body.page-bidroute-why .pillar,
body.page-bidroute-contractors .feature-card,
body.page-bidroute-contractors .card {
  border-radius: 0 !important;
  border-top: 2px solid var(--q-ink) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 1px solid var(--q-line) !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.page-bidroute-why-homeowner .stat-section,
body.page-bidroute-why .stat-section { background: #efe9df !important; border-top: 1px solid var(--q-line); border-bottom: 1px solid var(--q-line); }
body.page-bidroute-why-homeowner .cta-section,
body.page-bidroute-why .cta-section,
body.page-bidroute-contractors .cta-section { margin-top: 60px !important; margin-bottom: 80px !important; padding-top: 54px !important; padding-bottom: 54px !important; color: white !important; background-color: var(--q-blueprint) !important; background-image: linear-gradient(var(--q-grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--q-grid-minor) 1px,transparent 1px) !important; background-size: 24px 24px !important; }
body.page-bidroute-why-homeowner .cta-section h2,
body.page-bidroute-why .cta-section h2,
body.page-bidroute-contractors .cta-section h2 { color: white !important; }
body.page-bidroute-contractors .role-toggle { background: #eee8de !important; border: 1px solid var(--q-line-strong) !important; border-radius: 2px !important; }
body.page-bidroute-contractors .role-toggle button.active { background: var(--q-gold) !important; color: var(--q-ink) !important; border-radius: 1px !important; }

/* =========================================================
   AUTH, APPLICATION, SURVEYS, POST-A-JOB
   ========================================================= */
body.page-bidroute-auth,
body.page-bidroute-reset-password,
body.page-reset-password-token,
body.page-admin-login,
body.page-bidroute-apply,
body.page-bidroute-agreements,
body.page-contractor-invite-finish,
body.page-bidroute-survey-homeowner,
body.page-bidroute-survey-contractor,
body.page-bidroute-feedback,
body.page-bidroute-post-job {
  background: var(--q-paper) !important;
}
body.page-bidroute-auth > .main,
body.page-bidroute-reset-password > .main,
body.page-reset-password-token > .main,
body.page-admin-login > .admin-login-shell {
  min-height: calc(100vh - 76px) !important;
  padding: 64px 24px !important;
  display: grid !important;
  place-items: center !important;
  background:
    linear-gradient(90deg, transparent 0 49.96%, rgba(24,42,62,.07) 50%, transparent 50.04%),
    var(--q-paper) !important;
}
body.page-bidroute-auth .auth-card,
body.page-bidroute-auth .card,
body.page-bidroute-reset-password .card,
body.page-reset-password-token .card,
body.page-admin-login .admin-login-card {
  width: min(100%, 560px) !important;
  padding: clamp(28px,5vw,50px) !important;
  border-radius: 2px !important;
  border: 1px solid var(--q-line) !important;
  border-top: 8px solid var(--q-rust) !important;
  background: var(--q-porcelain) !important;
  box-shadow: 12px 12px 0 var(--q-blueprint) !important;
}
body.page-bidroute-post-job #post-job-form,
body.page-bidroute-apply .page,
body.page-bidroute-agreements .page,
body.page-contractor-invite-finish .invite-page,
body.page-bidroute-survey-homeowner .wrap,
body.page-bidroute-survey-contractor .wrap,
body.page-bidroute-feedback .wrap {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 56px 28px 100px !important;
}
body.page-bidroute-post-job #post-job-form {
  position: relative;
}
body.page-bidroute-post-job #post-job-form::before {
  content: "PROJECT INTAKE / BIDROUTE";
  display: block;
  margin-bottom: 24px;
  color: var(--q-rust);
  font: 700 10px/1 ui-monospace, Menlo, monospace;
  letter-spacing: .12em;
}
body.page-bidroute-post-job .step,
body.page-bidroute-post-job .form-section,
body.page-bidroute-post-job .step-panel,
body.page-bidroute-apply .form-section,
body.page-bidroute-agreements .agreement-card,
body.page-contractor-invite-finish .invite-card,
body.page-bidroute-survey-homeowner .survey-card,
body.page-bidroute-survey-contractor .survey-card,
body.page-bidroute-feedback .form-card {
  border-radius: 2px !important;
  border: 1px solid var(--q-line) !important;
  border-top: 5px solid var(--q-ink) !important;
  background: var(--q-porcelain) !important;
  box-shadow: var(--q-paper-shadow) !important;
}
body.page-bidroute-post-job .progress,
body.page-bidroute-post-job .progress-wrap,
body.page-bidroute-post-job .step-nav {
  border-radius: 0 !important;
  background: #ece6dc !important;
  border: 1px solid var(--q-line) !important;
}
body.page-bidroute-post-job .progress-fill,
body.page-bidroute-post-job .progress-bar-fill { background: linear-gradient(90deg,var(--q-rust),var(--q-gold)) !important; }
body.page-bidroute-post-job .trade-card,
body.page-bidroute-post-job .option-card,
body.page-bidroute-post-job .choice-card,
body.page-bidroute-post-job .upload-box {
  border-radius: 2px !important;
  border: 1px solid var(--q-line-strong) !important;
  background: var(--q-porcelain) !important;
  box-shadow: none !important;
}
body.page-bidroute-post-job .trade-card:hover,
body.page-bidroute-post-job .option-card:hover,
body.page-bidroute-post-job .choice-card:hover,
body.page-bidroute-post-job .selected { border-color: var(--q-ink) !important; box-shadow: inset 5px 0 0 var(--q-gold) !important; }
body.page-bidroute-survey-homeowner .bg,
body.page-bidroute-survey-homeowner .grid,
body.page-bidroute-survey-contractor .bg,
body.page-bidroute-survey-contractor .grid,
body.page-bidroute-feedback .bg,
body.page-bidroute-feedback .grid { display: none !important; }

/* =========================================================
   PORTALS / OPERATIONAL UI
   ========================================================= */
body.page-bidroute-homeowner-portal,
body.page-bidroute-homeowner-portal-live,
body.page-bidroute-contractor-portal,
body.page-bidroute-contractor-portal-live,
body.page-bidroute-contractor-demo-portal,
body.page-bidroute-contractor-demo-job,
body.page-bidroute-contractor-demo-bid,
body.page-bidroute-contractor-demo-confirm,
body.page-bidroute-bid-results,
body.page-bidroute-scheduling-request {
  background: #eeeae3 !important;
}
body.page-bidroute-homeowner-portal .page,
body.page-bidroute-homeowner-portal-live .page,
body.page-bidroute-contractor-portal-live .page,
body.page-bidroute-contractor-demo-portal .page,
body.page-bidroute-contractor-demo-job .page,
body.page-bidroute-contractor-demo-bid .page,
body.page-bidroute-contractor-demo-confirm .page,
body.page-bidroute-scheduling-request .page,
body.page-bidroute-contractor-portal .page-content,
body.page-bidroute-bid-results #main-content {
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 42px 28px 90px !important;
}
body.quarry-v3 .portal-header,
body.quarry-v3 .banner,
body.quarry-v3 .portal-hero,
body.quarry-v3 .job-hero,
body.quarry-v3 .project-hero {
  color: white !important;
  background-color: var(--q-blueprint) !important;
  background-image: linear-gradient(var(--q-grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--q-grid-major) 1px,transparent 1px),linear-gradient(var(--q-grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--q-grid-minor) 1px,transparent 1px) !important;
  background-size: 120px 120px,120px 120px,24px 24px,24px 24px !important;
  border-radius: 2px !important;
  border: 0 !important;
  box-shadow: 10px 10px 0 #d0c8bc !important;
}
body.quarry-v3 .portal-header h1,
body.quarry-v3 .portal-hero h1,
body.quarry-v3 .job-hero h1,
body.quarry-v3 .project-hero h1,
body.quarry-v3 .banner h1,
body.quarry-v3 .banner h2 { color: white !important; }
body.quarry-v3 .portal-header p,
body.quarry-v3 .portal-hero p,
body.quarry-v3 .job-hero p,
body.quarry-v3 .project-hero p { color: #cbd5de !important; }
body.quarry-v3 .tab-bar {
  display: flex !important;
  gap: 0 !important;
  border-radius: 0 !important;
  border: 1px solid var(--q-line-strong) !important;
  background: #e7e1d7 !important;
  overflow-x: auto;
}
body.quarry-v3 .tab-bar button,
body.quarry-v3 .tab-bar a,
body.quarry-v3 .tab-btn {
  color: var(--q-slate-deep) !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--q-line-strong) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 14px 18px !important;
  font-weight: 800 !important;
}
body.quarry-v3 .tab-bar .active,
body.quarry-v3 .tab-btn.active { color: white !important; background: var(--q-blueprint) !important; }
body.quarry-v3 .stats-row,
body.quarry-v3 .stat-grid,
body.quarry-v3 .summary-grid {
  border: 1px solid var(--q-line) !important;
  border-radius: 0 !important;
  background: var(--q-porcelain) !important;
}
body.quarry-v3 .stats-row > *,
body.quarry-v3 .stat-grid > *,
body.quarry-v3 .summary-grid > * { border-right: 1px solid var(--q-line) !important; border-radius: 0 !important; background: transparent !important; }
body.quarry-v3 .stats-row > *:last-child,
body.quarry-v3 .stat-grid > *:last-child,
body.quarry-v3 .summary-grid > *:last-child { border-right: 0 !important; }
body.quarry-v3 .status-badge,
body.quarry-v3 .badge,
body.quarry-v3 .pill,
body.quarry-v3 .chip {
  border-radius: 2px !important;
  font-family: ui-monospace, "SFMono-Regular", Menlo, monospace !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}
body.quarry-v3 .modal-overlay,
body.quarry-v3 .overlay { backdrop-filter: blur(5px); background: rgba(16,32,51,.72) !important; }
body.quarry-v3 .modal,
body.quarry-v3 .modal-card,
body.quarry-v3 .drawer,
body.quarry-v3 .schedule-modal-content {
  border-radius: 2px !important;
  border: 1px solid var(--q-line) !important;
  border-top: 7px solid var(--q-rust) !important;
  background: var(--q-porcelain) !important;
  box-shadow: 14px 14px 0 rgba(0,0,0,.24) !important;
}

/* =========================================================
   AFFILIATE
   ========================================================= */
/* The global --frost remap (further up, in the authoritative :root block)
   points it at var(--q-ink) -- a dark color. bidroute_affiliate.css uses
   --frost for light text/icons on the affiliate pages' dark navy panels
   (logo, nav items, perk bullets, footer, toast), so that remap makes all
   of it unreadable (dark text on a dark background). Restore a light value
   scoped to just these pages rather than touching the shared token, since
   other pages may depend on the dark remap in ways not audited here. */
body.page-bidroute-affiliate-landing,
body.page-bidroute-affiliate-login,
body.page-bidroute-affiliate-signup,
body.page-bidroute-affiliate-dashboard { --frost: #eaf0f4; }

body.page-bidroute-affiliate-landing .aff-nav,
body.page-bidroute-affiliate-login .aff-nav,
body.page-bidroute-affiliate-signup .aff-nav { background-color: var(--q-blueprint) !important; }
body.page-bidroute-affiliate-landing .aff-hero {
  padding: clamp(72px,8vw,118px) max(28px,calc((100vw - 1240px)/2 + 28px)) !important;
  color: white !important;
  background-color: var(--q-blueprint) !important;
  background-image: linear-gradient(var(--q-grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--q-grid-major) 1px,transparent 1px),linear-gradient(var(--q-grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--q-grid-minor) 1px,transparent 1px) !important;
  background-size: 120px 120px,120px 120px,24px 24px,24px 24px !important;
}
body.page-bidroute-affiliate-landing .aff-hero h1,
body.page-bidroute-affiliate-landing .aff-hero h2 { color: white !important; }
body.page-bidroute-affiliate-landing .aff-reward-strip { background: var(--q-gold) !important; color: var(--q-ink) !important; border-radius: 0 !important; }
body.page-bidroute-affiliate-landing .aff-who-grid { border-top: 2px solid var(--q-ink); }
body.page-bidroute-affiliate-landing .aff-who-card { border: 0 !important; border-bottom: 1px solid var(--q-line) !important; border-radius: 0 !important; background: transparent !important; }
body.page-bidroute-affiliate-landing .aff-final { color: white !important; background-color: var(--q-blueprint) !important; background-image: linear-gradient(var(--q-grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--q-grid-minor) 1px,transparent 1px) !important; background-size: 24px 24px !important; }
body.page-bidroute-affiliate-landing .aff-final h2 { color: white !important; }
body.page-bidroute-affiliate-dashboard .aff-shell { background: #eeeae3 !important; }
body.page-bidroute-affiliate-dashboard .aff-sidebar { background-color: var(--q-blueprint) !important; background-image: linear-gradient(var(--q-grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--q-grid-minor) 1px,transparent 1px) !important; background-size: 24px 24px !important; }

/* =========================================================
   ACCOUNT / ADMIN
   ========================================================= */
body.page-account-profile .account-shell,
body.page-account-settings .account-shell { max-width: 1260px !important; margin: 0 auto !important; padding: 40px 28px 90px !important; }
body.quarry-v3 .account-header { color: white !important; background-color: var(--q-blueprint) !important; background-image: linear-gradient(var(--q-grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--q-grid-minor) 1px,transparent 1px) !important; background-size: 24px 24px !important; border-radius: 2px !important; box-shadow: 8px 8px 0 #d0c8bc !important; }
body.quarry-v3 .account-hero { border-bottom: 2px solid var(--q-ink) !important; }
body.quarry-v3 .profile-avatar { color: var(--q-ink) !important; background: var(--q-gold) !important; border: 2px solid var(--q-ink) !important; border-radius: 2px !important; box-shadow: 5px 5px 0 var(--q-ink) !important; }
body.quarry-v3 .admin-shell { min-height: 100vh; color: var(--q-ink) !important; background: #ece8e1 !important; }
body.quarry-v3 .admin-sidebar,
body.quarry-v3 .admin-nav,
body.quarry-v3 .admin-header {
  color: white !important;
  background-color: var(--q-blueprint) !important;
  background-image: linear-gradient(var(--q-grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--q-grid-minor) 1px,transparent 1px) !important;
  background-size: 24px 24px !important;
}
body.quarry-v3 .admin-main,
body.quarry-v3 .admin-content,
body.quarry-v3 .admin-page-content { background: #ece8e1 !important; }
body.quarry-v3 .admin-topbar { color: var(--q-ink) !important; background: var(--q-porcelain) !important; border-bottom: 2px solid var(--q-ink) !important; }
body.quarry-v3 .admin-panel,
body.quarry-v3 .admin-card,
body.quarry-v3 .admin-section,
body.quarry-v3 .admin-table-wrap,
body.quarry-v3 .admin-notebook-main,
body.quarry-v3 .tracker-card {
  border-radius: 2px !important;
  border: 1px solid var(--q-line) !important;
  background: var(--q-porcelain) !important;
  box-shadow: none !important;
}
body.quarry-v3 .admin-notebook { gap: 0 !important; border: 1px solid var(--q-line-strong) !important; }
body.quarry-v3 .admin-notebook-sidebar { border-radius: 0 !important; background: #ded8cd !important; border-right: 1px solid var(--q-line-strong) !important; }
body.quarry-v3 .admin-notebook-sidebar button { border-radius: 0 !important; }
body.quarry-v3 .admin-notebook-sidebar button.active { color: white !important; background: var(--q-blueprint) !important; }
body.quarry-v3 .admin-notebook-tabs { border-radius: 0 !important; border-bottom: 1px solid var(--q-line) !important; background: #f4f0e9 !important; }
body.quarry-v3 .admin-notebook-tabs a.active { color: white !important; background: var(--q-blueprint) !important; }

/* =========================================================
   LEGAL, EMAIL, STATUS, SYSTEM
   ========================================================= */
body.page-bidroute-terms .page,
body.page-bidroute-privacy-policy .page,
body.page-bidroute-homeowner-tos .page,
body.page-bidroute-contractor-agreement .page,
body.page-bidroute-legal .page-content,
body.page-bidroute-contractor-status .page,
body.page-service-area-unavailable .page,
body.page-bidroute-confirmation .main,
body.page-bidroute-job-posted .main,
body.page-bidroute-job-success .main,
body.page-bidroute-404 .main,
body.page-role-required .role-shell,
body.page-unsubscribe .unsubscribe-shell,
body.page-dev-page-nav .dev-shell {
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 64px 28px 100px !important;
}
body.page-bidroute-terms .page,
body.page-bidroute-privacy-policy .page,
body.page-bidroute-homeowner-tos .page,
body.page-bidroute-contractor-agreement .page,
body.page-bidroute-legal .page-content {
  background: var(--q-porcelain) !important;
  border-left: 1px solid var(--q-line) !important;
  border-right: 1px solid var(--q-line) !important;
  box-shadow: 14px 0 0 rgba(217,209,198,.55), -14px 0 0 rgba(217,209,198,.32) !important;
}
body.page-bidroute-terms h1,
body.page-bidroute-privacy-policy h1,
body.page-bidroute-homeowner-tos h1,
body.page-bidroute-contractor-agreement h1,
body.page-bidroute-legal h1 { border-bottom: 3px solid var(--q-ink); padding-bottom: 24px; }
body.page-bidroute-email-approval,
body.page-bidroute-email-contractor,
body.page-bidroute-email-homeowner { background: #e8e3db !important; }
body.page-bidroute-email-approval .email-wrap,
body.page-bidroute-email-contractor .wrap,
body.page-bidroute-email-homeowner .wrap { max-width: 720px !important; margin: 36px auto !important; border-radius: 2px !important; border: 1px solid var(--q-line) !important; border-top: 8px solid var(--q-rust) !important; background: var(--q-porcelain) !important; box-shadow: 12px 12px 0 var(--q-blueprint) !important; }
body.page-bidroute-email-approval .email-header-title em { color: var(--q-gold) !important; }
body.page-bidroute-email-approval .approval-check {
  background: var(--q-gold-pale) !important;
  border-color: var(--q-gold) !important;
  color: var(--q-gold-deep) !important;
}

/* Support widget and promo banner */
body.quarry-v3 .support-widget,
body.quarry-v3 .feedback-widget,
body.quarry-v3 [data-support-widget] { border-radius: 2px !important; border: 1px solid var(--q-line) !important; background: var(--q-porcelain) !important; box-shadow: 9px 9px 0 rgba(24,42,62,.13) !important; }
body.quarry-v3 .promo-banner { border-top: 1px solid rgba(255,255,255,.14) !important; box-shadow: 0 -12px 40px rgba(16,32,51,.24) !important; }
body.quarry-v3 .promo-banner .banner-cta { box-shadow: 4px 4px 0 #0d1825 !important; }
body.quarry-v3 footer,
body.quarry-v3 .footer-strip,
body.quarry-v3 .aff-footer {
  color: #cbd4dc !important;
  background-color: var(--q-blueprint-deep) !important;
  background-image: linear-gradient(rgba(205,222,235,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(205,222,235,.025) 1px,transparent 1px) !important;
  background-size: 32px 32px !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
}
body.quarry-v3 footer a, body.quarry-v3 .footer-strip a { color: #e9edf1 !important; }

/* Preview bridge messages, harmless in live app. */
body.quarry-v3 .qv3-preview-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 999999;
  max-width: 360px;
  padding: 14px 16px;
  color: white;
  background: var(--q-blueprint);
  border-left: 5px solid var(--q-gold);
  box-shadow: 8px 8px 0 rgba(0,0,0,.23);
  font-size: 13px;
}

/* Responsive */
@media (max-width: 1050px) {
  body.quarry-v3 > nav, body.quarry-v3 nav:not(.admin-notebook-tabs):not(.admin-tabs):not(.tab-bar) { padding: 14px 22px !important; }
  .q-home-hero { grid-template-columns: 1fr; }
  .q-home-board { min-height: 520px; max-width: 760px; width: 100%; }
  .q-home-proofband-inner { grid-template-columns: 1fr 1fr; }
  .q-home-proof-lead { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid var(--q-line); padding: 0 0 24px; margin-bottom: 24px; }
  .q-home-proof:nth-child(3) { border-right: 0; }
  .q-home-step { grid-template-columns: 80px .7fr 1.3fr; }
  .q-home-step .time { grid-column: 2 / -1; text-align: left; }
  .q-home-project-grid { grid-template-columns: repeat(3,1fr); }
  body.page-bidroute-landing .panel.active { grid-template-columns: 1fr !important; }
  body.page-bidroute-landing .panel .form-wrap { grid-column: 1 !important; grid-row: auto !important; border-left: 0 !important; border-top: 1px solid rgba(255,255,255,.15) !important; }
}

@media (max-width: 760px) {
  body.quarry-v3::before { height: 3px; }
  body.quarry-v3 > nav, body.quarry-v3 nav:not(.admin-notebook-tabs):not(.admin-tabs):not(.tab-bar) { min-height: 66px; padding: 10px 16px !important; flex-wrap: wrap; }
  body.quarry-v3 .qv3-brand-word { font-size: 17px; }
  body.quarry-v3 .qv3-brand-mark { width: 31px; height: 31px; flex-basis: 31px; }
  body.quarry-v3 .nav-r, body.quarry-v3 .nav-actions { gap: 8px; }
  body.quarry-v3 nav .nav-item:not(.signup):not(.nav-session-link) { display: none !important; }
  .q-home-hero { padding: 52px 20px 72px; gap: 48px; }
  .q-home-copy h1 { font-size: clamp(48px,15vw,70px) !important; }
  .q-home-board { min-height: 500px; padding: 22px; box-shadow: 10px 10px 0 #ded7cc; }
  .q-home-project { width: 90%; }
  .q-route-spine { left: 29%; width: 25%; top: 225px; }
  .q-home-routes { margin-left: 28%; width: 72%; }
  .q-home-proofband-inner { grid-template-columns: 1fr; padding: 30px 20px; }
  .q-home-proof { border-right: 0 !important; border-bottom: 1px solid var(--q-line); padding: 18px 0; }
  .q-home-proof:last-child { border-bottom: 0; }
  .q-home-section { padding: 78px 20px; }
  .q-home-section-head { grid-template-columns: 1fr; gap: 18px; margin-bottom: 40px; }
  .q-home-step { grid-template-columns: 56px 1fr; gap: 16px; }
  .q-home-step p, .q-home-step .time { grid-column: 2; }
  .q-home-demo { padding: 58px 20px; align-items: flex-start; flex-direction: column; }
  .q-home-projects { padding: 68px 20px; }
  .q-home-project-grid { grid-template-columns: 1fr 1fr; }
  .q-home-bottom { padding: 68px 20px; grid-template-columns: 1fr; }
  .q-home-bottom-actions { justify-self: start; }
  .q-home .disclosures { padding: 42px 20px !important; }
  body.page-bidroute-landing > .wrap { padding: 54px 20px 80px !important; }
  body.page-bidroute-landing .stat-row { grid-template-columns: 1fr !important; }
  body.page-bidroute-landing .stat { border-right: 0 !important; border-bottom: 1px solid var(--q-line) !important; }
  body.page-bidroute-landing .panel .form-wrap { padding: 28px 22px !important; }
  body.page-bidroute-post-job #post-job-form,
  body.page-bidroute-apply .page,
  body.page-bidroute-agreements .page,
  body.page-contractor-invite-finish .invite-page,
  body.page-bidroute-survey-homeowner .wrap,
  body.page-bidroute-survey-contractor .wrap,
  body.page-bidroute-feedback .wrap { padding: 38px 16px 80px !important; }
  body.quarry-v3 .stats-row, body.quarry-v3 .stat-grid, body.quarry-v3 .summary-grid { display: grid !important; grid-template-columns: 1fr !important; }
  body.quarry-v3 .stats-row > *, body.quarry-v3 .stat-grid > *, body.quarry-v3 .summary-grid > * { border-right: 0 !important; border-bottom: 1px solid var(--q-line) !important; }
  body.quarry-v3 .admin-shell { display: block !important; }
  body.quarry-v3 .admin-sidebar { position: relative !important; width: 100% !important; min-height: auto !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.quarry-v3 *, body.quarry-v3 *::before, body.quarry-v3 *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.q-home .q-home-demo h2 { color: #fff !important; }
.q-home .q-home-demo .demo-cta-label { color: var(--q-gold) !important; }
/* Legacy pages used entrance animations that can leave content transparent in static review. */
body.quarry-v3 .auth-card,
body.quarry-v3 .auth-form.active,
body.quarry-v3 .step.active,
body.quarry-v3 .form-step.active,
body.quarry-v3 .panel.active,
body.quarry-v3 .page-content.active,
body.quarry-v3 .card,
body.quarry-v3 .account-card {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}
body.page-bidroute-landing .hero,
body.page-bidroute-landing .stat,
body.page-bidroute-landing .prop,
body.page-bidroute-landing .form-wrap,
body.page-bidroute-landing .toggle-wrap,
body.page-bidroute-landing .disclaimer {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}
body.page-bidroute-landing .panel.active .form-wrap { display: block !important; visibility: visible !important; }
body.page-bidroute-landing .panel.active .form-wrap * { opacity: 1; }
body.page-bidroute-landing .panel.active .form-wrap .form-title { color: #fff !important; }
body.page-bidroute-landing .panel.active .form-wrap .form-sub,
body.page-bidroute-landing .panel.active .form-wrap .form-fine { color: #cbd5de !important; }
body.page-bidroute-landing .panel.active .form-wrap a { color: var(--q-gold) !important; }
body.page-bidroute-auth .auth-card,
body.page-bidroute-auth .auth-card *,
body.page-bidroute-post-job .step.active,
body.page-bidroute-post-job .step.active * {
  opacity: 1;
}

/* Final migration fixes: legacy reveal animations must never hide core page chrome. */
body.page-bidroute-post-job .page-header,
body.page-bidroute-post-job .progress-wrap,
body.page-bidroute-post-job .step-label,
body.page-bidroute-post-job .step-title,
body.page-bidroute-post-job .step-sub,
body.page-bidroute-post-job .demo-notice {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}
body.page-bidroute-post-job .page-header {
  max-width: 760px !important;
  margin: 0 auto 34px !important;
  padding: 0 0 28px !important;
  border-bottom: 3px solid var(--q-ink) !important;
}
body.page-bidroute-post-job .page-header h1,
body.page-bidroute-post-job .page-header .title,
body.page-bidroute-post-job .step-title {
  color: var(--q-ink) !important;
}
body.page-bidroute-post-job .progress-wrap {
  max-width: 760px !important;
  margin: 0 auto 28px !important;
}
body.page-bidroute-post-job #post-job-form {
  max-width: 760px !important;
}
body.page-bidroute-post-job .step.active {
  border-top: 6px solid var(--q-rust) !important;
  box-shadow: 12px 12px 0 rgba(24,42,62,.10) !important;
}
body.page-bidroute-post-job .trade-grid,
body.page-bidroute-post-job .project-grid,
body.page-bidroute-post-job .option-grid {
  gap: 10px !important;
}
body.page-bidroute-post-job .trade-card,
body.page-bidroute-post-job .project-card,
body.page-bidroute-post-job .option-card {
  min-height: 112px !important;
  border: 1px solid var(--q-line-strong) !important;
  background: var(--q-porcelain) !important;
}
body.page-bidroute-post-job .trade-card:hover,
body.page-bidroute-post-job .project-card:hover,
body.page-bidroute-post-job .option-card:hover,
body.page-bidroute-post-job .trade-card.selected,
body.page-bidroute-post-job .project-card.selected,
body.page-bidroute-post-job .option-card.selected {
  border-color: var(--q-ink) !important;
  background: #f3eadc !important;
  box-shadow: 5px 5px 0 var(--q-gold) !important;
  transform: translate(-2px,-2px) !important;
}

/* Keep large blueprint canvases dimensional without turning every dark control into a motif. */
body.quarry-v3 .qv3-blueprint,
body.quarry-v3 .blueprint-panel,
body.quarry-v3 .portal-hero,
body.quarry-v3 .dashboard-hero,
body.quarry-v3 .hero.dark,
body.quarry-v3 .hero--dark {
  background-color: var(--q-blueprint) !important;
  background-image:
    linear-gradient(rgba(205,222,235,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(205,222,235,.045) 1px, transparent 1px),
    linear-gradient(rgba(205,222,235,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(205,222,235,.075) 1px, transparent 1px),
    radial-gradient(circle at 22% 10%, rgba(255,255,255,.035), transparent 42%) !important;
  background-size: 24px 24px,24px 24px,120px 120px,120px 120px,100% 100% !important;
}

/* The supplied seal is used as a real brand asset, never as a giant decorative watermark. */
body.quarry-v3 .qv3-seal-large {
  display: block;
  width: 90px;
  height: 90px;
  margin: 0 auto 18px;
  object-fit: contain;
}
body.quarry-v3 .qv3-seal-inline {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

/* Portal action affordances stay legible against the paper surfaces. */
body.page-bidroute-contractor-portal-live .btn-view-details,
body.page-bidroute-contractor-portal-live .contractor-job-toggle,
body.page-bidroute-homeowner-portal-live .btn-view-details,
body.page-bidroute-homeowner-portal-live .job-toggle,
body.page-bidroute-contractor-demo-portal .btn-view-details {
  color: var(--q-ink) !important;
  background: var(--q-porcelain) !important;
  border: 1px solid var(--q-line-strong) !important;
  box-shadow: none !important;
}
body.page-bidroute-contractor-portal-live .btn-view-details:hover,
body.page-bidroute-contractor-portal-live .contractor-job-toggle:hover,
body.page-bidroute-homeowner-portal-live .btn-view-details:hover,
body.page-bidroute-homeowner-portal-live .job-toggle:hover,
body.page-bidroute-contractor-demo-portal .btn-view-details:hover {
  color: var(--q-ink) !important;
  background: #f2e7d7 !important;
  border-color: var(--q-ink) !important;
  box-shadow: inset 5px 0 0 var(--q-gold) !important;
}

/* ======================================================================
   QUARRY V3 — HIGH-CONTRAST COHESION PASS
   The earlier Quarry draft used several low-opacity legacy colors. This
   pass makes the public and user-facing product unmistakably legible,
   removes decorative italics, and replaces neutral-gray panels with
   limestone, porcelain, blueprint tint, aged brass, and fired clay.
   ====================================================================== */

:root {
  --q-ink: #10273c;
  --q-ink-soft: #243b4f;
  --q-blueprint: #17344d;
  --q-blueprint-deep: #0d2133;
  --q-blueprint-mid: #20445f;
  --q-gold: #c49445;
  --q-gold-deep: #8d6229;
  --q-gold-pale: #efe1c6;
  --q-paper: #fbf8f2;
  --q-porcelain: #ffffff;
  --q-sand: #f0e8dc;
  --q-sand-strong: #e5d7c4;
  --q-blue-tint: #eaf1f5;
  --q-rust: #914d36;
  --q-rust-deep: #713825;
  --q-copy: #253b4e;
  --q-copy-muted: #40586b;
  --q-line: #cfc3b3;
  --q-line-strong: #a99b88;
  --q-success: #2f6346;
  --q-success-pale: #e5f0e8;
  --q-danger: #873c35;
  --q-danger-pale: #f5e4e0;
  --q-warning: #83591f;
  --q-grid-minor: rgba(223, 235, 244, .055);
  --q-grid-major: rgba(223, 235, 244, .105);

  /* Re-map legacy tokens to high-contrast values on light surfaces. */
  --navy: var(--q-ink);
  --deep: var(--q-blueprint-deep);
  --mid: var(--q-blueprint);
  --steel: var(--q-blueprint-mid);
  --ink: var(--q-ink);
  --gold: var(--q-gold);
  --accent: var(--q-gold);
  --accent-dark: var(--q-gold-deep);
  --rust: var(--q-rust);
  --white: var(--q-porcelain);
  --frost: var(--q-ink);
  --mist: var(--q-copy-muted);
  --dim: var(--q-copy-muted);
  --muted: var(--q-copy-muted);
  --surface: var(--q-porcelain);
  --paper: var(--q-paper);
  --offwhite: var(--q-paper);
  --border: rgba(16, 39, 60, .24);
  --green: var(--q-success);
  --danger: var(--q-danger);
}

html { background: var(--q-paper) !important; }

body.quarry-v3 {
  color: var(--q-copy) !important;
  background-color: var(--q-paper) !important;
  background-image:
    linear-gradient(90deg, rgba(16,39,60,.018) 1px, transparent 1px),
    linear-gradient(rgba(16,39,60,.012) 1px, transparent 1px) !important;
  background-size: 56px 56px !important;
  font-family: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.62 !important;
  letter-spacing: -.006em;
}

/* Typography: sturdy and consistent. No decorative italic treatment anywhere. */
body.quarry-v3 h1,
body.quarry-v3 h2,
body.quarry-v3 h3,
body.quarry-v3 h4,
body.quarry-v3 h5,
body.quarry-v3 h6,
body.quarry-v3 .hero-title,
body.quarry-v3 .page-title,
body.quarry-v3 .section-title,
body.quarry-v3 .card-title,
body.quarry-v3 .form-title,
body.quarry-v3 .success-title,
body.quarry-v3 .confirm-title,
body.quarry-v3 .sheet-title,
body.quarry-v3 .aff-h1,
body.quarry-v3 .aff-h2,
body.quarry-v3 .aff-hero-title {
  color: var(--q-ink) !important;
  font-family: "Arial Narrow", "Avenir Next Condensed", "Franklin Gothic Medium", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  line-height: 1.02 !important;
}
body.quarry-v3 h1 { letter-spacing: -.045em !important; }
body.quarry-v3 h3,
body.quarry-v3 h4,
body.quarry-v3 h5,
body.quarry-v3 h6 { line-height: 1.16 !important; letter-spacing: -.02em !important; }

body.quarry-v3 em,
body.quarry-v3 .italic,
body.quarry-v3 [style*="font-style:italic"],
body.quarry-v3 [style*="font-style: italic"] {
  font-family: inherit !important;
  font-style: normal !important;
}
body.quarry-v3 h1 em,
body.quarry-v3 h2 em,
body.quarry-v3 h3 em,
body.quarry-v3 .success-title em,
body.quarry-v3 .confirm-title em,
body.quarry-v3 .sheet-title em,
body.quarry-v3 .overlay-title em {
  color: inherit !important;
  font: inherit !important;
}

body.quarry-v3 p,
body.quarry-v3 li,
body.quarry-v3 label,
body.quarry-v3 td,
body.quarry-v3 th,
body.quarry-v3 input,
body.quarry-v3 select,
body.quarry-v3 textarea,
body.quarry-v3 button {
  font-weight: 500;
}
body.quarry-v3 strong,
body.quarry-v3 b { color: inherit; font-weight: 800; }

/* The old templates use opacity as a text color. Informational copy should be
   a real color instead; opacity is kept only for intentionally hidden controls. */
body.quarry-v3 :is(p, span, small, label, li, td, th, a)[style*="opacity:0."],
body.quarry-v3 :is(p, span, small, label, li, td, th, a)[style*="opacity: 0."] {
  opacity: 1 !important;
}
body.quarry-v3 .sub,
body.quarry-v3 .subtitle,
body.quarry-v3 .hero-desc,
body.quarry-v3 .hero-sub,
body.quarry-v3 .card-sub,
body.quarry-v3 .form-sub,
body.quarry-v3 .form-fine,
body.quarry-v3 .field-hint,
body.quarry-v3 .submit-fine,
body.quarry-v3 .body-text,
body.quarry-v3 .status-copy,
body.quarry-v3 .job-desc,
body.quarry-v3 .activity-time,
body.quarry-v3 .stat-label,
body.quarry-v3 .section-title,
body.quarry-v3 .greeting-eyebrow,
body.quarry-v3 .page-subtitle,
body.quarry-v3 .sheet-sub,
body.quarry-v3 .overlay-sub,
body.quarry-v3 .form-fine,
body.quarry-v3 .char-count,
body.quarry-v3 .line-hint,
body.quarry-v3 .back-link,
body.quarry-v3 .nav-tag,
body.quarry-v3 .meta-pill,
body.quarry-v3 .bid-rating,
body.quarry-v3 .bid-timeline,
body.quarry-v3 .bid-snippet,
body.quarry-v3 .job-meta,
body.quarry-v3 .detail-label,
body.quarry-v3 .field-label {
  color: var(--q-copy-muted) !important;
  opacity: 1 !important;
}

body.quarry-v3 input::placeholder,
body.quarry-v3 textarea::placeholder {
  color: #657888 !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}

/* Disabled controls remain clearly legible without looking active. */
body.quarry-v3 button:disabled,
body.quarry-v3 input[type="submit"]:disabled,
body.quarry-v3 .disabled {
  opacity: 1 !important;
  color: #655032 !important;
  background: #e7d8bb !important;
  border-color: #bca36f !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* Blueprint surfaces: very soft grid, very strong lettering. */
body.quarry-v3 :is(
  nav,
  footer,
  .footer-strip,
  .aff-footer,
  .quarry-blueprint,
  .qv3-blueprint,
  .qv3-blueprint-panel,
  .portal-header,
  .portal-hero,
  .job-hero,
  .project-hero,
  .hero-r,
  .demo-cta-strip,
  .promo-banner,
  .aff-db-banner,
  .aff-sidebar,
  .quarry-dark-panel,
  .confirmation-top,
  .status-header
) {
  color: #ffffff !important;
  background-color: var(--q-blueprint) !important;
  background-image:
    linear-gradient(var(--q-grid-major) 1px, transparent 1px),
    linear-gradient(90deg, var(--q-grid-major) 1px, transparent 1px),
    linear-gradient(var(--q-grid-minor) 1px, transparent 1px),
    linear-gradient(90deg, var(--q-grid-minor) 1px, transparent 1px),
    radial-gradient(circle at 18% 8%, rgba(255,255,255,.055), transparent 44%) !important;
  background-size: 120px 120px,120px 120px,24px 24px,24px 24px,100% 100% !important;
}
body.quarry-v3 :is(
  nav,
  footer,
  .footer-strip,
  .aff-footer,
  .quarry-blueprint,
  .qv3-blueprint,
  .qv3-blueprint-panel,
  .portal-header,
  .portal-hero,
  .job-hero,
  .project-hero,
  .hero-r,
  .demo-cta-strip,
  .promo-banner,
  .aff-db-banner,
  .aff-sidebar,
  .quarry-dark-panel,
  .confirmation-top,
  .status-header
) :is(h1,h2,h3,h4,h5,h6,.page-title,.section-title,.card-title,.form-title,.success-title,.sheet-title,.confirm-title,strong,b) {
  color: #ffffff !important;
}
body.quarry-v3 :is(
  nav,
  footer,
  .footer-strip,
  .aff-footer,
  .quarry-blueprint,
  .qv3-blueprint,
  .qv3-blueprint-panel,
  .portal-header,
  .portal-hero,
  .job-hero,
  .project-hero,
  .hero-r,
  .demo-cta-strip,
  .promo-banner,
  .aff-db-banner,
  .aff-sidebar,
  .quarry-dark-panel,
  .confirmation-top,
  .status-header
) :is(p,li,label,small,span,.sub,.subtitle,.hero-desc,.hero-sub,.form-sub,.form-fine,.field-hint,.section-title,.stat-label,.job-desc,.detail-label,.field-label,.activity-time,.greeting-eyebrow,.page-subtitle) {
  color: #dce7ee !important;
  opacity: 1 !important;
}
body.quarry-v3 :is(
  nav,
  footer,
  .footer-strip,
  .aff-footer,
  .quarry-blueprint,
  .qv3-blueprint,
  .qv3-blueprint-panel,
  .portal-header,
  .portal-hero,
  .job-hero,
  .project-hero,
  .hero-r,
  .demo-cta-strip,
  .promo-banner,
  .aff-db-banner,
  .aff-sidebar,
  .quarry-dark-panel,
  .confirmation-top,
  .status-header
) [style*="color:var(--mist)"],
body.quarry-v3 :is(
  nav,
  footer,
  .footer-strip,
  .aff-footer,
  .quarry-blueprint,
  .qv3-blueprint,
  .qv3-blueprint-panel,
  .portal-header,
  .portal-hero,
  .job-hero,
  .project-hero,
  .hero-r,
  .demo-cta-strip,
  .promo-banner,
  .aff-db-banner,
  .aff-sidebar,
  .quarry-dark-panel,
  .confirmation-top,
  .status-header
) [style*="color: var(--mist)"] {
  color: #dce7ee !important;
  opacity: 1 !important;
}

/* Paper surfaces. Neutral-gray is not part of Quarry V3. */
body.quarry-v3 :is(
  .card,
  .account-card,
  .form-wrap,
  .form-card,
  .feedback-box,
  .panel-card,
  .content-card,
  .job-card,
  .bid-card,
  .summary-card,
  .status-card,
  .aff-card,
  .aff-who-card,
  .setting-card,
  .detail-card,
  .section-card,
  .calendar-card,
  .profile-card,
  .activity-card,
  .messages-card,
  .action-card,
  .next-card,
  .success-card,
  .confirm-card,
  .contractor-card,
  .job-context,
  .what-next,
  .whats-next,
  .estimate-block,
  .pdf-block,
  .upload-block,
  .disclosure-box,
  .visit-info-card
) {
  color: var(--q-copy) !important;
  background: var(--q-porcelain) !important;
  border-color: var(--q-line) !important;
  box-shadow: none !important;
}
body.quarry-v3 :is(
  .feedback-box,
  .form-card,
  .section-card,
  .success-card,
  .confirm-card,
  .contractor-card,
  .job-context,
  .what-next,
  .whats-next
) {
  border: 1px solid var(--q-line) !important;
  border-top: 5px solid var(--q-ink) !important;
  border-radius: 3px !important;
}
body.quarry-v3 :is(.card,.job-card,.bid-card,.action-card,.account-card,.detail-card,.section-card) :is(h1,h2,h3,h4,h5,h6,.title,.card-title,.action-title,.bid-name,.job-title,.contractor-name) {
  color: var(--q-ink) !important;
}
body.quarry-v3 :is(.card,.job-card,.bid-card,.action-card,.account-card,.detail-card,.section-card) :is(p,span,small,li,.sub,.desc,.action-desc,.bid-rating,.bid-snippet,.job-meta,.detail-label) {
  color: var(--q-copy-muted) !important;
  opacity: 1 !important;
}

/* Primary controls: high contrast aged brass with dark ink. */
body.quarry-v3 :is(
  .btn-main,.btn-submit,.button.primary,.primary-btn,.cta-btn,.panel-cta,.banner-cta,
  .btn-portal,.btn-book,.btn-book-bid,.btn-sign,.btn-next,.btn-ok,.confirm-btn,.send-btn,
  .submit-btn,.visit-send-btn,.btn-apply,.aff-cta-btn,
  button[type="submit"]:not(.icon-btn):not(.tab-btn):not(.btn-nav):not(.btn-sheet-close),
  input[type="submit"]
) {
  color: var(--q-ink) !important;
  background: var(--q-gold) !important;
  border: 1px solid var(--q-gold-deep) !important;
  border-radius: 3px !important;
  box-shadow: 4px 4px 0 var(--q-ink) !important;
  font-style: normal !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}
body.quarry-v3 :is(.btn-view,.btn-note,.btn-download,.back-link,.btn-exit,.btn-skip,.btn-close,.btn-sheet-close,.button.secondary,.secondary-btn) {
  color: var(--q-ink) !important;
  background: var(--q-porcelain) !important;
  border: 1px solid var(--q-line-strong) !important;
  border-radius: 3px !important;
  font-weight: 750 !important;
  opacity: 1 !important;
}
body.quarry-v3 :is(.btn-view,.btn-note,.btn-download,.back-link,.btn-exit,.btn-skip,.btn-close,.btn-sheet-close,.button.secondary,.secondary-btn):hover {
  color: var(--q-ink) !important;
  background: var(--q-gold-pale) !important;
  border-color: var(--q-ink) !important;
}

/* Inputs are porcelain with visible boundaries, not gray glass. */
body.quarry-v3 input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
body.quarry-v3 select,
body.quarry-v3 textarea,
body.quarry-v3 .form-input,
body.quarry-v3 .text-input,
body.quarry-v3 .field-input,
body.quarry-v3 .note-textarea,
body.quarry-v3 .propose-textarea,
body.quarry-v3 .message-input,
body.quarry-v3 .chat-input {
  color: var(--q-ink) !important;
  background: var(--q-porcelain) !important;
  border: 1px solid var(--q-line-strong) !important;
  border-radius: 3px !important;
  box-shadow: inset 5px 0 0 rgba(16,39,60,.05) !important;
  font-weight: 550 !important;
  opacity: 1 !important;
}
body.quarry-v3 input:focus,
body.quarry-v3 select:focus,
body.quarry-v3 textarea:focus {
  border-color: var(--q-ink) !important;
  box-shadow: inset 5px 0 0 var(--q-gold) !important;
}
body.quarry-v3 label,
body.quarry-v3 .field-label {
  color: var(--q-ink) !important;
  font-weight: 800 !important;
  opacity: 1 !important;
}

/* Badges use solid tints rather than transparent ghost colors. */
body.quarry-v3 :is(.badge,.status-badge,.status-pill,.bid-type-tag,.meta-pill,.nav-tag,.chip,.tag,.demo-badge,.new-job-badge,.contractor-badge) {
  color: var(--q-ink) !important;
  background: var(--q-blue-tint) !important;
  border: 1px solid #9fb3c1 !important;
  border-radius: 3px !important;
  opacity: 1 !important;
  font-weight: 800 !important;
}
body.quarry-v3 :is(.status-booked,.status-bids-in,.remote-tag,.accepted-tag,.green,.success) {
  color: #244f37 !important;
  background: var(--q-success-pale) !important;
  border-color: #8eb39a !important;
}
body.quarry-v3 :is(.visit-tag,.gold,.status-selected) {
  color: #65451b !important;
  background: var(--q-gold-pale) !important;
  border-color: #c6a66d !important;
}

/* ----------------------------------------------------------------------
   Early access landing: readable on first glance.
   ---------------------------------------------------------------------- */
body.page-bidroute-landing .hero h1 { color: var(--q-ink) !important; }
body.page-bidroute-landing .hero p,
body.page-bidroute-landing .disclaimer,
body.page-bidroute-landing .prop-desc,
body.page-bidroute-landing .stat-label {
  color: var(--q-copy) !important;
  opacity: 1 !important;
  font-weight: 550 !important;
}
body.page-bidroute-landing .panel.active {
  background: var(--q-porcelain) !important;
  border: 1px solid var(--q-line-strong) !important;
  box-shadow: 14px 14px 0 var(--q-sand-strong) !important;
}
body.page-bidroute-landing .panel .form-wrap {
  color: #fff !important;
  background-color: var(--q-blueprint) !important;
  border-left-color: rgba(255,255,255,.22) !important;
}
body.page-bidroute-landing .panel .form-wrap :is(.form-title,.form-sub,.form-fine,label) {
  color: #fff !important;
  opacity: 1 !important;
}
body.page-bidroute-landing .panel .form-wrap :is(input,select,textarea) {
  background: #fff !important;
  color: var(--q-ink) !important;
}
body.page-bidroute-landing .stat-val,
body.page-bidroute-landing .prop-num { color: var(--q-rust) !important; opacity: 1 !important; }

/* ----------------------------------------------------------------------
   Feedback and account forms: remove the disliked gray field.
   ---------------------------------------------------------------------- */
body.page-bidroute-feedback .wrap { max-width: 760px !important; }
body.page-bidroute-feedback h1 { color: var(--q-ink) !important; }
body.page-bidroute-feedback .sub { color: var(--q-copy) !important; }
body.page-bidroute-feedback .feedback-box {
  padding: clamp(24px,4vw,42px) !important;
  background: var(--q-porcelain) !important;
  border: 1px solid var(--q-line-strong) !important;
  border-top: 7px solid var(--q-rust) !important;
  box-shadow: 11px 11px 0 var(--q-sand-strong) !important;
}
body.page-bidroute-feedback .role-toggle {
  border: 1px solid var(--q-line-strong) !important;
  background: var(--q-sand) !important;
  padding: 4px !important;
}
body.page-bidroute-feedback .role-btn {
  color: var(--q-copy) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 2px !important;
  font-weight: 800 !important;
}
body.page-bidroute-feedback .role-btn.active {
  color: #fff !important;
  background: var(--q-blueprint) !important;
}
body.page-bidroute-feedback .role-btn.active.contractor {
  color: var(--q-ink) !important;
  background: var(--q-gold) !important;
}
body.page-bidroute-feedback .char-count,
body.page-bidroute-feedback .form-fine { color: var(--q-copy-muted) !important; }
body.page-bidroute-feedback .overlay { background: rgba(13,33,51,.86) !important; }
body.page-bidroute-feedback .overlay-card {
  padding: 38px !important;
  color: var(--q-copy) !important;
  background: var(--q-porcelain) !important;
  border-top: 7px solid var(--q-success) !important;
  box-shadow: 12px 12px 0 var(--q-gold) !important;
}
body.page-bidroute-feedback .overlay-title { color: var(--q-ink) !important; }
body.page-bidroute-feedback .overlay-sub { color: var(--q-copy) !important; }

body.page-bidroute-auth .auth-card,
body.page-bidroute-auth .card,
body.page-bidroute-apply .card,
body.page-bidroute-agreements .card,
body.page-contractor-invite-finish .invite-card {
  color: var(--q-copy) !important;
  background: #fff !important;
}
body.page-bidroute-auth :is(.type-option,.contractor-note,.checkbox-label),
body.page-bidroute-apply :is(.fee-card,.standards-panel,.trade-option,.radius-option,.coming-soon-note),
body.page-bidroute-agreements :is(.agreement,.fee-table,.founding-post-beta) {
  color: var(--q-copy) !important;
  background: var(--q-sand) !important;
  border-color: var(--q-line-strong) !important;
  opacity: 1 !important;
}
body.page-bidroute-auth :is(.type-desc,.form-fine,.optional-label,.forgot),
body.page-bidroute-apply :is(.card-sub,.field-hint,.submit-fine,.verify-text),
body.page-bidroute-agreements :is(.card-sub,.agreement-text,.submit-fine) {
  color: var(--q-copy-muted) !important;
  opacity: 1 !important;
}

/* ----------------------------------------------------------------------
   Project intake: stronger hierarchy and selection states.
   ---------------------------------------------------------------------- */
body.page-bidroute-post-job .page-header,
body.page-bidroute-post-job .progress-wrap,
body.page-bidroute-post-job #post-job-form { max-width: 920px !important; }
body.page-bidroute-post-job .page-header h1,
body.page-bidroute-post-job .step-title { color: var(--q-ink) !important; }
body.page-bidroute-post-job :is(.page-subtitle,.step-sub,.step-label,.field-hint,.submit-fine,.cal-chip-day,.cal-chip-month) {
  color: var(--q-copy-muted) !important;
  opacity: 1 !important;
}
body.page-bidroute-post-job .step.active {
  background: #fff !important;
  border: 1px solid var(--q-line-strong) !important;
  border-top: 7px solid var(--q-rust) !important;
  box-shadow: 12px 12px 0 var(--q-sand-strong) !important;
}
body.page-bidroute-post-job :is(.trade-card,.project-card,.option-card,.choice-card,.upload-box,.avail-option,.cal-chip) {
  color: var(--q-copy) !important;
  background: var(--q-porcelain) !important;
  border: 1px solid var(--q-line-strong) !important;
  opacity: 1 !important;
}
body.page-bidroute-post-job :is(.trade-card,.project-card,.option-card,.choice-card,.avail-option,.cal-chip):hover,
body.page-bidroute-post-job :is(.trade-card,.project-card,.option-card,.choice-card,.avail-option,.cal-chip).selected {
  color: var(--q-ink) !important;
  background: var(--q-gold-pale) !important;
  border-color: var(--q-ink) !important;
  box-shadow: inset 6px 0 0 var(--q-gold) !important;
}
body.page-bidroute-post-job .photo-upload-icon { opacity: 1 !important; color: var(--q-rust) !important; }

/* ----------------------------------------------------------------------
   Posted and success states: confident, never washed out.
   ---------------------------------------------------------------------- */
body.page-bidroute-job-posted .main,
body.page-bidroute-job-success .main { background: var(--q-paper) !important; }
body.page-bidroute-job-posted .confirmation-copy {
  color: var(--q-copy) !important;
  background: #fff !important;
  border: 1px solid var(--q-line-strong) !important;
  border-top: 7px solid var(--q-gold) !important;
  box-shadow: 12px 12px 0 var(--q-sand-strong) !important;
}
body.page-bidroute-job-success .success-card {
  color: var(--q-copy) !important;
  background: #fff !important;
  border: 1px solid var(--q-line-strong) !important;
  border-top: 7px solid var(--q-success) !important;
  box-shadow: 12px 12px 0 var(--q-sand-strong) !important;
}
body.page-bidroute-job-posted :is(.body-text,.subtext,.next-step),
body.page-bidroute-job-success :is(.success-sub,.next-item) {
  color: var(--q-copy) !important;
  opacity: 1 !important;
}
body.page-bidroute-job-success .success-title { color: var(--q-ink) !important; }
body.page-bidroute-job-posted .check-icon {
  color: var(--q-gold-deep) !important;
  background: var(--q-gold-pale) !important;
  border: 1px solid var(--q-gold) !important;
}
body.page-bidroute-job-success .success-icon {
  color: var(--q-success) !important;
  background: var(--q-success-pale) !important;
  border: 1px solid #8eb39a !important;
}
body.page-bidroute-job-success .what-next,
body.page-bidroute-job-posted .next-card {
  background: var(--q-sand) !important;
  border-left: 5px solid var(--q-gold) !important;
  padding-left: 24px !important;
}
body.page-bidroute-job-posted .next-card { padding-left: 40px !important; }
body.page-bidroute-job-success .next-num,
body.page-bidroute-job-posted .next-step::before { color: var(--q-rust) !important; opacity: 1 !important; }

/* ----------------------------------------------------------------------
   BID COMPARISON — rebuilt as a light ledger rather than dim dark cards.
   ---------------------------------------------------------------------- */
body.page-bidroute-bid-results {
  color: var(--q-copy) !important;
  background: var(--q-paper) !important;
}
body.page-bidroute-bid-results::before,
body.page-bidroute-bid-results::after { display: none !important; }
body.page-bidroute-bid-results nav {
  position: sticky !important;
  color: #fff !important;
  background-color: var(--q-blueprint) !important;
}
body.page-bidroute-bid-results #main-content {
  max-width: 1080px !important;
  padding: 56px 28px 100px !important;
}
body.page-bidroute-bid-results .page-header {
  max-width: none !important;
  margin: 0 0 30px !important;
  padding: 0 0 28px !important;
  border-bottom: 3px solid var(--q-ink) !important;
}
body.page-bidroute-bid-results .page-header h1 {
  max-width: 720px;
  color: var(--q-ink) !important;
  font-size: clamp(48px,7vw,76px) !important;
}
body.page-bidroute-bid-results .status-badge {
  color: #244f37 !important;
  background: var(--q-success-pale) !important;
  border-color: #8eb39a !important;
}
body.page-bidroute-bid-results .project-meta { gap: 8px !important; }
body.page-bidroute-bid-results .meta-pill {
  color: var(--q-ink) !important;
  background: var(--q-sand) !important;
  border-color: var(--q-line-strong) !important;
  font-weight: 750 !important;
}
body.page-bidroute-bid-results .bids-section {
  max-width: none !important;
  padding: 0 !important;
}
body.page-bidroute-bid-results .bids-label {
  color: var(--q-rust) !important;
  opacity: 1 !important;
  font-weight: 850 !important;
}
body.page-bidroute-bid-results .bid-card {
  display: block !important;
  margin: 0 0 18px !important;
  color: var(--q-copy) !important;
  background: #fff !important;
  border: 1px solid var(--q-line-strong) !important;
  border-left: 7px solid var(--q-blueprint) !important;
  border-radius: 3px !important;
  box-shadow: 7px 7px 0 var(--q-sand-strong) !important;
}
body.page-bidroute-bid-results .bid-card:hover {
  border-color: var(--q-ink) !important;
  border-left-color: var(--q-rust) !important;
}
body.page-bidroute-bid-results .bid-card.selected {
  border-color: var(--q-gold-deep) !important;
  border-left-color: var(--q-gold) !important;
  box-shadow: 7px 7px 0 var(--q-gold-pale) !important;
}
body.page-bidroute-bid-results .bid-card-inner { padding: 26px 28px !important; }
body.page-bidroute-bid-results .bid-av {
  color: #fff !important;
  background: var(--q-blueprint) !important;
  border: 1px solid var(--q-ink) !important;
  border-radius: 2px !important;
}
body.page-bidroute-bid-results .bid-name,
body.page-bidroute-bid-results .bid-price,
body.page-bidroute-bid-results .bid-snippet strong {
  color: var(--q-ink) !important;
  font-style: normal !important;
  font-weight: 850 !important;
}
body.page-bidroute-bid-results .bid-price {
  font-family: "Arial Narrow", Arial, sans-serif !important;
  font-size: 36px !important;
}
body.page-bidroute-bid-results :is(.bid-rating,.bid-timeline,.bid-snippet) {
  color: var(--q-copy-muted) !important;
  opacity: 1 !important;
}
body.page-bidroute-bid-results .bid-divider { background: var(--q-line) !important; }
body.page-bidroute-bid-results .bid-actions {
  padding: 15px 28px !important;
  color: var(--q-copy) !important;
  background: var(--q-sand) !important;
  border-top: 1px solid var(--q-line-strong) !important;
}
body.page-bidroute-bid-results .btn-book { display: none; }
body.page-bidroute-bid-results .bid-card.selected .btn-book { display: inline-flex; }
body.page-bidroute-bid-results .overlay {
  background: rgba(13,33,51,.82) !important;
  backdrop-filter: blur(6px) !important;
}
body.page-bidroute-bid-results .sheet,
body.page-bidroute-bid-results .modal,
body.page-bidroute-bid-results .confirm-card {
  color: var(--q-copy) !important;
  background: #fff !important;
  border: 1px solid var(--q-line) !important;
  border-top: 7px solid var(--q-rust) !important;
  border-radius: 3px 3px 0 0 !important;
}
body.page-bidroute-bid-results .sheet :is(.sheet-title,.profile-name,.section-label,.est-head-title,.est-total-val,.pdf-name,.sig-label) {
  color: var(--q-ink) !important;
}
body.page-bidroute-bid-results .sheet :is(.sheet-sub,.profile-bio,.profile-rating,.est-notes,.pdf-meta,.upload-sub,.sig-hint,.sign-fine) {
  color: var(--q-copy-muted) !important;
  opacity: 1 !important;
}
body.page-bidroute-bid-results :is(.estimate,.pdf-block,.upload-block,.sig-wrap) {
  color: var(--q-copy) !important;
  background: var(--q-sand) !important;
  border-color: var(--q-line-strong) !important;
}

/* ----------------------------------------------------------------------
   Scheduling: warm paper + decisive time slots, no gray slabs.
   ---------------------------------------------------------------------- */
body.page-bidroute-scheduling-request {
  color: var(--q-copy) !important;
  background: var(--q-paper) !important;
}
body.page-bidroute-scheduling-request .page { max-width: 920px !important; }
body.page-bidroute-scheduling-request .page-title {
  color: var(--q-ink) !important;
  font-size: clamp(44px,6vw,68px) !important;
}
body.page-bidroute-scheduling-request :is(.page-subtitle,.job-context-label,.job-context-val,.contractor-meta,.slot-info,.propose-label,.confirmed-body) {
  color: var(--q-copy) !important;
  opacity: 1 !important;
}
body.page-bidroute-scheduling-request .contractor-card {
  color: #fff !important;
  background-color: var(--q-blueprint) !important;
  background-image:
    linear-gradient(var(--q-grid-minor) 1px,transparent 1px),
    linear-gradient(90deg,var(--q-grid-minor) 1px,transparent 1px) !important;
  background-size: 24px 24px !important;
  border: 0 !important;
  box-shadow: 8px 8px 0 var(--q-sand-strong) !important;
}
body.page-bidroute-scheduling-request .contractor-card :is(.contractor-name,.contractor-meta,.gold-stars,.contractor-badge) {
  color: #fff !important;
  opacity: 1 !important;
}
body.page-bidroute-scheduling-request .contractor-badge {
  color: var(--q-ink) !important;
  background: var(--q-gold) !important;
  border-color: var(--q-gold) !important;
}
body.page-bidroute-scheduling-request .job-context {
  color: var(--q-copy) !important;
  background: var(--q-sand) !important;
  border: 1px solid var(--q-line-strong) !important;
  border-left: 6px solid var(--q-rust) !important;
}
body.page-bidroute-scheduling-request .slot-card {
  color: var(--q-copy) !important;
  background: #fff !important;
  border: 1px solid var(--q-line-strong) !important;
  border-left: 5px solid var(--q-blueprint) !important;
  opacity: 1 !important;
  box-shadow: none !important;
}
body.page-bidroute-scheduling-request .slot-card:hover,
body.page-bidroute-scheduling-request .slot-card.selected,
body.page-bidroute-scheduling-request .slot-card:has(input:checked) {
  color: var(--q-ink) !important;
  background: var(--q-gold-pale) !important;
  border-color: var(--q-ink) !important;
  border-left-color: var(--q-gold) !important;
}
body.page-bidroute-scheduling-request :is(.slot-day,.slot-time,.slot-tag) {
  color: var(--q-ink) !important;
  opacity: 1 !important;
  font-weight: 800 !important;
}
body.page-bidroute-scheduling-request .propose-area {
  background: var(--q-blue-tint) !important;
  border: 1px solid #a8bac6 !important;
}
body.page-bidroute-scheduling-request .confirmed-state {
  color: var(--q-copy) !important;
  background: #fff !important;
  border-top: 7px solid var(--q-success) !important;
  box-shadow: 10px 10px 0 var(--q-sand-strong) !important;
}

/* ----------------------------------------------------------------------
   Contractor demo invitation, bid form, and confirmation.
   ---------------------------------------------------------------------- */
body.page-bidroute-contractor-demo-job,
body.page-bidroute-contractor-demo-bid,
body.page-bidroute-contractor-demo-confirm {
  color: var(--q-copy) !important;
  background: var(--q-paper) !important;
}
body.page-bidroute-contractor-demo-job .page,
body.page-bidroute-contractor-demo-bid .page,
body.page-bidroute-contractor-demo-confirm .page { max-width: 980px !important; }
body.page-bidroute-contractor-demo-job .job-title,
body.page-bidroute-contractor-demo-bid .section-title,
body.page-bidroute-contractor-demo-confirm .confirm-title { color: var(--q-ink) !important; }
body.page-bidroute-contractor-demo-job :is(.job-location,.detail-label,.detail-val,.homeowner-note,.avail-note,.visit-panel-sub,.no-cost-strip),
body.page-bidroute-contractor-demo-bid :is(.back-link,.job-context-meta,.field-label,.section-sub,.line-hint,.submit-fine),
body.page-bidroute-contractor-demo-confirm :is(.confirm-body,.next-text,.no-charge-note) {
  color: var(--q-copy-muted) !important;
  opacity: 1 !important;
}
body.page-bidroute-contractor-demo-job .photos-row { gap: 14px !important; }
body.page-bidroute-contractor-demo-job .photo-placeholder {
  min-height: 230px !important;
  color: var(--q-blueprint) !important;
  background-color: var(--q-blue-tint) !important;
  background-image:
    linear-gradient(rgba(23,52,77,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,52,77,.055) 1px,transparent 1px) !important;
  background-size: 24px 24px !important;
  border: 1px solid #a8bac6 !important;
  opacity: 1 !important;
}
body.page-bidroute-contractor-demo-job .detail-card,
body.page-bidroute-contractor-demo-job .visit-panel,
body.page-bidroute-contractor-demo-bid .section-card,
body.page-bidroute-contractor-demo-bid .job-context,
body.page-bidroute-contractor-demo-confirm .whats-next {
  color: var(--q-copy) !important;
  background: #fff !important;
  border: 1px solid var(--q-line-strong) !important;
  border-left: 6px solid var(--q-blueprint) !important;
  box-shadow: none !important;
}
body.page-bidroute-contractor-demo-job .visit-panel { border-left-color: var(--q-gold) !important; }
body.page-bidroute-contractor-demo-job :is(.avail-row,.cal-chip),
body.page-bidroute-contractor-demo-bid :is(.toggle-pill,.pdf-upload-zone,.line-item-row,.price-wrap,.check-row) {
  color: var(--q-copy) !important;
  background: var(--q-sand) !important;
  border-color: var(--q-line-strong) !important;
  opacity: 1 !important;
}
body.page-bidroute-contractor-demo-bid .price-input {
  color: var(--q-ink) !important;
  background: #fff !important;
  border-color: var(--q-ink) !important;
}
body.page-bidroute-contractor-demo-confirm .bid-display {
  color: #fff !important;
  background-color: var(--q-blueprint) !important;
  background-image:
    linear-gradient(var(--q-grid-minor) 1px,transparent 1px),
    linear-gradient(90deg,var(--q-grid-minor) 1px,transparent 1px) !important;
  background-size: 24px 24px !important;
  border: 0 !important;
}
body.page-bidroute-contractor-demo-confirm .bid-display :is(.bid-display-label,strong,span) { color: #fff !important; opacity: 1 !important; }
body.page-bidroute-contractor-demo-confirm .whats-next {
  background: var(--q-sand) !important;
  border-left-color: var(--q-rust) !important;
}

/* ----------------------------------------------------------------------
   User portals: keep operational density but restore full legibility.
   ---------------------------------------------------------------------- */
body.page-bidroute-homeowner-portal,
body.page-bidroute-homeowner-portal-live,
body.page-bidroute-contractor-portal,
body.page-bidroute-contractor-portal-live,
body.page-bidroute-contractor-demo-portal,
body.page-bidroute-affiliate-dashboard,
body.page-account-profile,
body.page-account-settings {
  color: var(--q-copy) !important;
  background: var(--q-paper) !important;
}
body.quarry-v3 :is(.greeting,.job-title,.action-title,.messages-title,.contractor-name,.bid-name,.bid-business,.activity-text,.profile-val,.account-value,.empty-title,.calendar-title,.unscheduled-title,.job-trade,.bid-job-name) {
  color: var(--q-ink) !important;
}
body.quarry-v3 :is(.greeting-eyebrow,.section-title,.job-meta,.action-desc,.account-label,.activity-time,.stat-label,.profile-label,.bid-job-meta,.bid-detail-label,.message-input::placeholder,.chat-input::placeholder,.empty-body,.unscheduled-meta,.job-desc) {
  color: var(--q-copy-muted) !important;
  opacity: 1 !important;
}
body.quarry-v3 :is(.job-card,.action-card,.messages-card,.account-card,.profile-card,.activity-card,.calendar-card,.contractor-job-card,.bid-card,.state-block,.empty-state,.schedule-list-card) {
  color: var(--q-copy) !important;
  background: #fff !important;
  border: 1px solid var(--q-line-strong) !important;
  border-radius: 3px !important;
}
body.quarry-v3 :is(.action-card,.job-card,.contractor-job-card,.bid-card):hover {
  border-color: var(--q-ink) !important;
  box-shadow: inset 6px 0 0 var(--q-gold) !important;
}
body.quarry-v3 :is(.progress-track,.p-line,.bid-divider) { background: var(--q-line) !important; }
body.quarry-v3 :is(.p-step-label,.msg-time,.chat-bubble-meta,.notification-item-detail) {
  color: var(--q-copy-muted) !important;
  opacity: 1 !important;
}
body.quarry-v3 :is(.floating-chat-panel,.sheet,.drawer,.modal,.schedule-modal-card) {
  color: var(--q-copy) !important;
  background: #fff !important;
  border-color: var(--q-line) !important;
}
body.quarry-v3 :is(.floating-chat-head,.sheet-profile-header,.schedule-modal-title) {
  color: #fff !important;
  background-color: var(--q-blueprint) !important;
}
body.quarry-v3 .chat-bubble {
  color: var(--q-copy) !important;
  background: var(--q-blue-tint) !important;
  border: 1px solid #b4c4ce !important;
}
body.quarry-v3 .chat-bubble.mine,
body.quarry-v3 .msg.mine .bubble {
  color: var(--q-ink) !important;
  background: var(--q-gold-pale) !important;
  border-color: #c8aa72 !important;
}
body.quarry-v3 :is(.portal-tabs,.tab-bar,.schedule-view-toggle) {
  color: var(--q-copy) !important;
  background: var(--q-sand) !important;
  border: 1px solid var(--q-line-strong) !important;
}
body.quarry-v3 :is(.portal-tab-button,.tab-btn,.schedule-view-button) {
  color: var(--q-copy) !important;
  opacity: 1 !important;
  font-weight: 800 !important;
}
body.quarry-v3 :is(.portal-tab-button.is-active,.tab-btn.active,.schedule-view-button.is-active) {
  color: #fff !important;
  background: var(--q-blueprint) !important;
}

/* Inline legacy mist on light portal areas gets a real ink color. */
body.quarry-v3 :is(
  .page,.page-content,.main,.account-shell,.aff-main,.portal-tab-panel,.contractor-job-body,
  .sheet,.modal,.drawer,.floating-chat-content,.schedule-modal-body
) [style*="color:var(--mist)"],
body.quarry-v3 :is(
  .page,.page-content,.main,.account-shell,.aff-main,.portal-tab-panel,.contractor-job-body,
  .sheet,.modal,.drawer,.floating-chat-content,.schedule-modal-body
) [style*="color: var(--mist)"] {
  color: var(--q-copy-muted) !important;
  opacity: 1 !important;
}

/* Affiliate: retain blueprint personality but brighten all copy. */
body.page-bidroute-affiliate-landing .aff-hero :is(.aff-h1,.aff-h2,.aff-hero-sub,.aff-hero-fine,.aff-eyebrow) {
  color: #fff !important;
  opacity: 1 !important;
}
body.page-bidroute-affiliate-landing .aff-hero-sub { max-width: 760px !important; font-weight: 550 !important; }
body.page-bidroute-affiliate-landing .aff-who-card,
body.page-bidroute-affiliate-landing .aff-terms-card,
body.page-bidroute-affiliate-landing .aff-step {
  color: var(--q-copy) !important;
  background: #fff !important;
  border-color: var(--q-line-strong) !important;
}
body.page-bidroute-affiliate-landing :is(.aff-who-body,.aff-step-body,.aff-terms-val,.aff-hero-fine) {
  opacity: 1 !important;
}
body.page-bidroute-affiliate-landing .aff-final :is(h2,p,.aff-eyebrow) { color: #fff !important; opacity: 1 !important; }

/* Footer copy is intentionally secondary, never invisible. */
body.quarry-v3 footer,
body.quarry-v3 .footer-strip,
body.quarry-v3 .aff-footer { color: #d9e5ed !important; }
body.quarry-v3 footer :is(p,span,small,a),
body.quarry-v3 .footer-strip :is(p,span,small,a),
body.quarry-v3 .aff-footer :is(p,span,small,a) {
  color: #d9e5ed !important;
  opacity: 1 !important;
}

/* Mobile: maintain the same contrast and reduce hard offsets. */
@media (max-width: 760px) {
  body.quarry-v3 { font-size: 15px !important; }
  body.page-bidroute-bid-results #main-content,
  body.page-bidroute-scheduling-request .page,
  body.page-bidroute-contractor-demo-job .page,
  body.page-bidroute-contractor-demo-bid .page,
  body.page-bidroute-contractor-demo-confirm .page { padding: 38px 16px 76px !important; }
  body.page-bidroute-bid-results .bid-card-inner,
  body.page-bidroute-bid-results .bid-actions { padding-left: 18px !important; padding-right: 18px !important; }
  body.page-bidroute-bid-results .bid-top-row { align-items: flex-start !important; }
  body.page-bidroute-bid-results .bid-price { font-size: 30px !important; }
  body.page-bidroute-contractor-demo-job .photos-row { grid-template-columns: 1fr !important; }
}

/* ======================================================================
   V3 finishing pass — remove the last low-contrast legacy treatments.
   ====================================================================== */
body.page-bidroute-contractor-demo-job .homeowner-note {
  color: var(--q-copy) !important;
  background: var(--q-gold-pale) !important;
  border: 1px solid #cdb88f !important;
  border-left: 7px solid var(--q-rust) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}
body.page-bidroute-contractor-demo-job .homeowner-note .note-label {
  color: var(--q-rust) !important;
  opacity: 1 !important;
  font-weight: 900 !important;
}
body.page-bidroute-contractor-demo-job .homeowner-note .note-text {
  color: var(--q-ink) !important;
  opacity: 1 !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1.65 !important;
}
body.page-bidroute-contractor-demo-job .no-cost-strip {
  color: #1d4b3c !important;
  background: #edf7f1 !important;
  border: 1px solid #b8d9ca !important;
  border-radius: 2px !important;
  font-weight: 750 !important;
}
body.page-bidroute-contractor-demo-job .no-cost-icon {
  color: #1d6a4f !important;
  font-weight: 950 !important;
}
body.page-bidroute-contractor-demo-job .btn-bid {
  color: var(--q-ink) !important;
  background: var(--q-gold) !important;
  border: 2px solid var(--q-ink) !important;
  border-radius: 2px !important;
  box-shadow: 5px 5px 0 var(--q-ink) !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}
body.page-bidroute-contractor-demo-job .btn-bid:hover,
body.page-bidroute-contractor-demo-job .btn-bid:focus-visible {
  color: #fff !important;
  background: var(--q-rust) !important;
  transform: translate(2px,2px) !important;
  box-shadow: 3px 3px 0 var(--q-ink) !important;
}
body.page-bidroute-contractor-demo-job .btn-visit {
  color: var(--q-ink) !important;
  background: #fff !important;
  border: 2px solid var(--q-ink) !important;
  border-radius: 2px !important;
  font-weight: 850 !important;
}
body.page-bidroute-contractor-demo-job .btn-visit:hover,
body.page-bidroute-contractor-demo-job .btn-visit.open {
  color: var(--q-ink) !important;
  background: var(--q-blue-tint) !important;
  border-color: var(--q-ink) !important;
}
body.page-bidroute-contractor-demo-job .exit-demo {
  display: table !important;
  color: var(--q-copy) !important;
  opacity: 1 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 5px 2px !important;
  border-bottom: 2px solid var(--q-gold) !important;
  font-weight: 850 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}
body.page-bidroute-contractor-demo-job .exit-demo:hover {
  color: var(--q-rust) !important;
}
body.page-bidroute-contractor-demo-job :is(.avail-label,.avail-slot-date,.avail-pill) {
  color: var(--q-copy) !important;
  opacity: 1 !important;
  font-weight: 750 !important;
}
body.page-bidroute-contractor-demo-job .avail-note {
  color: #1d4b3c !important;
  background: #edf7f1 !important;
  border-color: #b8d9ca !important;
  opacity: 1 !important;
  font-weight: 850 !important;
}
body.page-bidroute-contractor-demo-job .photo-placeholder {
  color: var(--q-ink) !important;
  font-weight: 750 !important;
}
body.page-bidroute-contractor-demo-job .photo-icon { filter: saturate(.75) contrast(1.08); }

body.page-bidroute-affiliate-landing .aff-reward-strip {
  color: var(--q-ink) !important;
  background: #d5aa5d !important;
  border-top: 2px solid var(--q-ink) !important;
  border-bottom: 2px solid var(--q-ink) !important;
}
body.page-bidroute-affiliate-landing .aff-reward-strip > div {
  border-color: rgba(16,39,60,.32) !important;
}
body.page-bidroute-affiliate-landing .aff-reward-num {
  color: var(--q-ink) !important;
  opacity: 1 !important;
  font-weight: 950 !important;
}
body.page-bidroute-affiliate-landing .aff-reward-label {
  color: #20384c !important;
  opacity: 1 !important;
  font-weight: 800 !important;
}
body.page-bidroute-affiliate-landing .aff-footer-logo,
body.page-bidroute-affiliate-landing .aff-footer-logo span {
  color: #fff !important;
  opacity: 1 !important;
  font-style: normal !important;
  font-weight: 900 !important;
}
body.page-bidroute-affiliate-landing .aff-footer-logo span { color: #e2bd75 !important; }
body.page-bidroute-affiliate-landing .aff-footer {
  border-top-color: rgba(255,255,255,.28) !important;
}

/* ======================================================================
   V3 legibility audit — every frontend screen uses real ink, not opacity.
   ====================================================================== */
body.quarry-v3 * { font-style: normal !important; }

body.quarry-v3 :is(
  .eyebrow,.q-num,.section-label,.page-eyebrow,.visit-panel-eyebrow,
  .cal-chip-day,.cal-chip-month,.next-num,.whats-next-title,.nav-badge,
  .job-context-dot,.flash-banner,.visit-note
) {
  opacity: 1 !important;
}

body.quarry-v3 :is(
  .form-sub,.field-hint,.card-sub,.agreement-text,.form-fine,.optional-label,
  .type-desc,.next-item,.option-label,.last-updated,.highlight-box,
  .contact-label,.cs-text,.info-text,.approval-row-label,.empty-body,
  .submit-fine,.footer-copy
) {
  font-weight: 500 !important;
  opacity: 1 !important;
}

body.quarry-v3 :is(.option-label,.agreement-text,.next-item,.empty-body) {
  color: var(--q-copy) !important;
}
body.quarry-v3 :is(.field-hint,.card-sub,.form-fine,.optional-label,.type-desc,.last-updated,.contact-label,.cs-text,.info-text,.approval-row-label,.submit-fine) {
  color: var(--q-copy-muted) !important;
}
body.quarry-v3 :is(.q-num,.section-label,.page-eyebrow,.eyebrow) {
  font-weight: 900 !important;
}
body.quarry-v3 :is(.hero-note,.sig-hint) {
  color: var(--q-copy) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
body.page-bidroute-landing .form-sub {
  color: #e6eef4 !important;
  font-weight: 600 !important;
}
body.page-bidroute-contractor-demo-job :is(.cal-chip-day,.cal-chip-month,.visit-note,.visit-panel-eyebrow) {
  color: var(--q-copy) !important;
  font-weight: 750 !important;
}
body.page-bidroute-bid-results .section-label,
body.page-bidroute-scheduling-request :is(.page-eyebrow,.section-label) {
  color: var(--q-rust) !important;
  opacity: 1 !important;
}
body.page-bidroute-contractor-demo-confirm .confirm-title {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
body.page-bidroute-contractor-demo-confirm .whats-next-title {
  color: var(--q-ink) !important;
  font-weight: 900 !important;
}
body.page-bidroute-homeowner-portal .flash-banner,
body.page-bidroute-homeowner-portal-live .flash-banner {
  color: var(--q-ink) !important;
  background: var(--q-gold-pale) !important;
  border-color: #c7a96f !important;
  font-weight: 750 !important;
  opacity: 1 !important;
  animation: none !important;
}
body.quarry-v3 footer .footer-copy,
body.quarry-v3 .aff-footer .footer-copy {
  color: #d9e5ed !important;
  font-weight: 600 !important;
}

/* Last measured text-weight pass. */
body.quarry-v3 :is(
  .card-logo-sub,.contractor-note,.verify-text,.coming-soon-text,.action-desc,
  .email-cta-note,.email-sign,.email-footer-copy,.preview-note,.sign,
  .fee-row-label,.priority-badge
) {
  font-weight: 500 !important;
  opacity: 1 !important;
}
body.quarry-v3 :is(.card-logo-sub,.verify-text,.contractor-note,.action-desc,.sign) {
  color: var(--q-copy-muted) !important;
}
body.quarry-v3 :is(.coming-soon-text,.email-cta-note,.email-sign,.email-footer-copy,.preview-note,.fee-row-label) {
  color: var(--q-copy-muted) !important;
}
body.quarry-v3 .priority-badge {
  color: var(--q-ink) !important;
  background: var(--q-gold-pale) !important;
  border-color: #c7a96f !important;
}
body.page-bidroute-contractor-demo-bid .field-label span,
body.page-bidroute-apply .field-label span,
body.page-bidroute-landing .survey-time,
body.page-bidroute-landing .survey-card div,
body.page-bidroute-landing .arrow {
  font-weight: 500 !important;
  opacity: 1 !important;
}
body.page-bidroute-contractor-demo-confirm .check-wrap {
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}
body.page-bidroute-landing [style*="font-weight:300"],
body.page-bidroute-landing .success-msg {
  color: var(--q-copy-muted) !important;
  font-weight: 500 !important;
}
body.page-bidroute-landing [style*="opacity:0.5"] {
  opacity: 1 !important;
}
body.page-bidroute-apply span[style*="font-weight:300"],
body.page-bidroute-contractor-demo-bid span[style*="font-weight:300"] {
  color: var(--q-copy-muted) !important;
  font-weight: 500 !important;
}
