﻿/* ==========================================================
   TorqueMech Design Tokens
   Permanent dark product foundation with compatibility aliases.
   ========================================================== */
:root{
  color-scheme: dark;

  --tm-bg: #071221;
  --tm-bg-deep: #050e1b;

  --tm-surface: #101b2f;
  --tm-surface-2: #151f31;
  --tm-surface-3: #0b1728;

  --tm-border: rgba(148, 163, 184, 0.20);
  --tm-border-strong: rgba(96, 165, 250, 0.30);

  --tm-text: #f8fafc;
  --tm-text-soft: #d7e1ee;
  --tm-text-muted: #aebdd0;
  --tm-text-primary: var(--tm-text);
  --tm-text-secondary: var(--tm-text-soft);
  --tm-text-muted-strong: var(--tm-text-muted);
  --tm-text-on-dark: #f8fafc;
  --tm-text-muted-on-dark: #cbd5e1;
  --tm-text-helper-on-dark: #a9b6c8;
  --tm-surface-card: var(--tm-surface);
  --tm-surface-dark-card: #0b1728;

  --tm-blue: #3b82f6;
  --tm-blue-light: #60a5fa;
  --tm-blue-hover: #60a5fa;

  --tm-orange: #f97316;
  --tm-orange-light: #fb923c;

  --tm-success: #22c55e;
  --tm-warning: #f59e0b;
  --tm-danger: #ef4444;

  --tm-field-bg: #e8edf3;
  --tm-field-text: #0f172a;
  --tm-field-placeholder: #64748b;
  --tm-field-border: #cbd5e1;
  --tm-field-disabled-bg: #aeb7c3;
  --tm-field-disabled-text: #526174;

  --tm-radius-sm: 8px;
  --tm-radius-md: 12px;
  --tm-radius-lg: 16px;
  --tm-radius: var(--tm-radius-md);

  --tm-shadow-sm: 0 6px 14px rgba(0, 0, 0, 0.14);
  --tm-shadow-md: 0 16px 34px rgba(0, 0, 0, 0.22);
  --tm-shadow-lg: 0 22px 48px rgba(0, 0, 0, 0.28);
  --tm-shadow: var(--tm-shadow-md);

  --tm-container: 1120px;
  --tm-font: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Compatibility aliases used by existing templates and scripts. */
  --tm-accent: var(--tm-orange);
  --tm-accent-hover: var(--tm-orange-light);
  --tm-teal-700: var(--tm-blue-light);
  --tm-est-field-bg: var(--tm-field-bg);
  --tm-est-field-text: var(--tm-field-text);
  --tm-est-field-placeholder: var(--tm-field-placeholder);
  --tm-est-field-border: var(--tm-field-border);
}
*,
*::before,
*::after{
  box-sizing: border-box;
}

html,
body{
  margin: 0;
  min-height: 100%;
  background: var(--tm-bg-deep);
}

body{
  min-height: 100vh;
  position: relative;
  isolation: isolate;
  font-family: var(--tm-font);
  background-color: var(--tm-bg-deep);
  background-image:
    radial-gradient(circle at 12% 0%, rgba(59, 130, 246, 0.12), transparent 30rem),
    linear-gradient(rgba(148, 163, 184, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.055) 1px, transparent 1px),
    linear-gradient(180deg, var(--tm-bg) 0%, var(--tm-bg-deep) 100%);
  background-size:
    auto,
    32px 32px,
    32px 32px,
    auto;
  background-attachment: fixed;
  color: var(--tm-text-soft);
}

body::before{
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(96, 165, 250, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(96, 165, 250, 0.055) 1px, transparent 1px),
    radial-gradient(circle at 12% 10%, rgba(37, 99, 235, 0.10), transparent 34%),
    radial-gradient(circle at 88% 8%, rgba(249, 115, 22, 0.08), transparent 30%);
  background-size:
    42px 42px,
    42px 42px,
    auto,
    auto;
  background-position:
    -1px -1px,
    -1px -1px,
    center,
    center;
  background-attachment: fixed;
}

body.tm-public-estimate-page::before,
body.tm-public-estimate-unavailable-page::before{
  display: none;
}

@media print{
  body::before{
    display: none;
  }
}

img{
  max-width: 100%;
  display: block;
}

a{
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea{
  font: inherit;
}

.hidden{
  display: none !important;
}

[hidden]{
  display: none !important;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

/* Layout */
.container,
.tm-container{
  width: min(var(--tm-container), calc(100% - 32px));
  margin: 0 auto;
}

.tm-container{
  background: transparent;
}

.tm-page{
  max-width: var(--tm-container);
  margin: 26px auto;
}

.tm-section{
  padding: 24px 0;
}

/* Typography */
h1,
h2,
h3,
h4{
  margin: 0 0 12px;
  color: var(--tm-text);
  line-height: 1.08;
  letter-spacing: 0;
}

h1{
  font-size: clamp(2.4rem, 5vw, 4rem);
  font-weight: 850;
}

h2{
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  font-weight: 800;
}

h3{
  font-size: 1.12rem;
  font-weight: 800;
}

p,
li,
label{
  color: var(--tm-text-muted);
}

.tm-eyebrow{
  display: inline-block;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tm-blue);
}

.tm-page-title{
  margin-bottom: 14px;
}

.tm-pageLead,
.tm-subtitle,
.tm-lead{
  max-width: 720px;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--tm-text-muted);
}

.tm-muted,
.tm-subtle,
.tm-normal{
  color: var(--tm-text-muted);
}

/* Nav */
.tm-nav{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(7, 18, 33, .94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--tm-border);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
}

.tm-nav__inner{
  width: min(var(--tm-container), calc(100% - 32px));
  margin: 0 auto;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.tm-brand{display:inline-flex;align-items:center;gap:8px;color:var(--tm-text);}
.tm-brand__text,.tm-brand_text{font-size:1.1rem;font-weight:900;letter-spacing:0;}
.tm-brand__torque{color:var(--tm-text);}
.tm-brand__mech{color:var(--tm-orange);}
.tm-beta-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border:1px solid rgba(34,197,94,.35);border-radius:999px;background:rgba(34,197,94,.14);color:#bbf7d0;font-size:11px;font-weight:800;}
.tm-menuBtn,.menu-btn{width:42px;height:42px;border:1px solid var(--tm-border);border-radius:var(--tm-radius-md);background:var(--tm-surface);color:var(--tm-text);display:inline-grid;place-items:center;cursor:pointer;box-shadow:var(--tm-shadow-sm);}
.tm-menuBtn:hover,.menu-btn:hover,.tm-menuBtn:focus-visible,.menu-btn:focus-visible{border-color:var(--tm-border-strong);background:var(--tm-surface-2);outline:none;}
.tm-notification{position:relative;margin-left:0;}
.tm-notification + .tm-menuBtn{margin-left:10px;}
.tm-notificationBtn{position:relative;width:42px;height:42px;border:1px solid var(--tm-border);border-radius:var(--tm-radius-md);background:var(--tm-surface);color:var(--tm-text);display:inline-grid;place-items:center;cursor:pointer;box-shadow:var(--tm-shadow-sm);}
.tm-notificationBtn:hover,.tm-notificationBtn:focus-visible{border-color:var(--tm-orange);background:var(--tm-surface-2);outline:2px solid rgba(249,115,22,.28);outline-offset:2px;}
.tm-notificationBtn__icon{font-size:1.05rem;line-height:1;}
.tm-notificationBtn__badge{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;border:2px solid var(--tm-bg);border-radius:999px;background:var(--tm-orange);color:#111827;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:950;line-height:1;box-shadow:var(--tm-shadow-sm);}
.tm-notificationPanel{position:absolute;right:0;top:50px;z-index:1250;width:min(420px, calc(100vw - 24px));max-height:min(560px, calc(100vh - 76px));overflow:auto;border:1px solid var(--tm-border);border-radius:var(--tm-radius-lg);background:linear-gradient(180deg,var(--tm-surface) 0%,var(--tm-surface-3) 100%);box-shadow:var(--tm-shadow-lg);padding:12px;color:var(--tm-text);}
.tm-notificationPanel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 10px;border-bottom:1px solid var(--tm-border);}
.tm-notificationPanel__head h2{margin:0;color:var(--tm-text);font-size:1rem;font-weight:900;line-height:1.2;}
.tm-notificationPanel__head span{color:var(--tm-text-muted);font-size:.82rem;font-weight:800;white-space:nowrap;}
.tm-notificationList{display:grid;gap:8px;margin-top:10px;}
.tm-notificationItemShell{position:relative;border-radius:var(--tm-radius-md);background:transparent;}
.tm-notificationItem{position:relative;display:grid;gap:7px;width:100%;box-sizing:border-box;border:1px solid var(--tm-border);border-left-width:4px;border-radius:var(--tm-radius-md);background:var(--tm-surface);padding:10px;}
.tm-notificationItem--unread{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);}
.tm-notificationItem--approved{border-left-color:#22c55e;}
.tm-notificationItem--declined{border-left-color:#ef4444;}
.tm-notificationItem--deferred{border-left-color:#f59e0b;}
.tm-notificationItem__top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;flex-wrap:wrap;}
.tm-notificationItem__label{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:999px;background:rgba(249,115,22,.14);color:#fed7aa;font-size:.68rem;font-weight:950;text-transform:uppercase;}
.tm-notificationItem__meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;}
.tm-notificationItem time{color:var(--tm-text-muted);font-size:.72rem;font-weight:750;white-space:nowrap;}
.tm-notificationItem h3{margin:0;color:var(--tm-text);font-size:.92rem;font-weight:900;line-height:1.25;}
.tm-notificationItem p{margin:0;color:var(--tm-text-soft);font-size:.82rem;font-weight:650;line-height:1.42;overflow-wrap:anywhere;}
.tm-notificationItem__ready{color:#86efac;font-size:.76rem;font-weight:900;}
.tm-notificationItem__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.tm-notificationItem__action{min-height:34px;border:1px solid rgba(249,115,22,.42);border-radius:var(--tm-radius-md);background:rgba(249,115,22,.16);color:#fed7aa;font:inherit;font-size:.82rem;font-weight:900;cursor:pointer;padding:7px 10px;}
.tm-notificationItem__action:hover,.tm-notificationItem__action:focus-visible{background:rgba(249,115,22,.24);outline:2px solid rgba(249,115,22,.3);outline-offset:2px;}
.tm-notificationItem__dismissForm{display:inline-flex;margin:0;}
.tm-notificationItem__dismissForm.is-error .tm-notificationItem__trashAction{border-color:rgba(248,113,113,.72);background:rgba(248,113,113,.2);}
.tm-notificationItem__trashAction{width:30px;height:30px;border:1px solid rgba(248,113,113,.34);border-radius:var(--tm-radius-md);background:rgba(248,113,113,.1);color:#fecaca;display:grid;place-items:center;font:inherit;cursor:pointer;padding:0;}
.tm-notificationItem__trashAction svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;}
.tm-notificationItem__trashAction:hover,.tm-notificationItem__trashAction:focus-visible{background:rgba(248,113,113,.18);border-color:rgba(248,113,113,.52);outline:2px solid rgba(248,113,113,.3);outline-offset:2px;}
.tm-notificationEmpty{margin:12px 2px 2px;color:var(--tm-text-muted);font-size:.88rem;font-weight:750;}
.tm-menu{position:absolute;right:max(16px, calc((100vw - var(--tm-container)) / 2));top:58px;z-index:1200;}
.tm-menu__panel{width:min(280px, calc(100vw - 32px));border-radius:var(--tm-radius-lg);padding:10px;background:linear-gradient(180deg,var(--tm-surface) 0%,var(--tm-surface-3) 100%);border:1px solid var(--tm-border);box-shadow:var(--tm-shadow-lg);}
.tm-menu__item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--tm-radius-md);color:var(--tm-text-soft);font-weight:700;}
.tm-menu__item:hover,.tm-menu__item:focus-visible{background:rgba(96,165,250,.12);color:var(--tm-text);outline:none;}
.tm-menu__divider{height:1px;margin:8px 4px;background:var(--tm-border);}
.tm-menu__disclosure{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;padding:8px 12px;border:0;border-radius:var(--tm-radius-md);background:transparent;color:var(--tm-text);font:inherit;font-weight:750;text-align:left;cursor:pointer;}
.tm-menu__disclosure:hover,.tm-menu__disclosure:focus-visible{background:rgba(96,165,250,.12);outline:none;}
.tm-menu__chevron{color:var(--tm-text-muted);font-size:.9rem;line-height:1;transition:transform .16s ease;}
.tm-menu__disclosure[aria-expanded="true"] .tm-menu__chevron{transform:rotate(180deg);}
.tm-menu__resources{display:grid;gap:2px;padding:2px 0 0 8px;}
.tm-menu__item--resource{min-height:34px;padding:8px 12px;color:var(--tm-text-muted);font-size:.94rem;font-weight:650;}
.tm-menu__badge{flex:0 0 auto;padding:3px 7px;border:1px solid rgba(96,165,250,.28);border-radius:999px;background:rgba(96,165,250,.12);color:var(--tm-blue-light);font-size:.68rem;font-weight:900;line-height:1.1;}
.tm-menuBackdrop{position:fixed;inset:0;z-index:1100;background:transparent;}

/* Hero */
.tm-hero{
  background: linear-gradient(180deg, #fbfdff 0%, #f3f7fb 100%);
  border: 1px solid rgba(11,22,40,.08);
  border-radius: var(--tm-radius-lg);
  padding: 28px 24px;
  box-shadow: var(--tm-shadow);
}

html.dark .tm-hero,
body.dark .tm-hero,
[data-theme="dark"] .tm-hero{
  background: linear-gradient(180deg, #112236 0%, #0d1b2d 100%);
  border-color: rgba(255,255,255,.08);
}

.tm-homeHero__title{
  font-weight:900;
  letter-spacing:-0.065em;
}

.tm-hero h1{
  max-width: 760px;
  font-size: clamp(2.2rem, 5vw, 3.9rem);
  line-height: 1.02;
  margin-bottom: 14px;
}

.tm-hero p{
  max-width: 620px;
  font-size: 1rem;
  color: var(--tm-text-muted);
}

.tm-hero-actions,
.tm-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.tm-shared-quote-card{
  margin-top: 16px;
  padding: 24px;
  border-color: rgba(20,184,166,.20);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfb 100%);
  box-shadow: 0 12px 28px rgba(15,23,42,.07);
}

.tm-shared-quote-hero{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 288px);
  gap: 20px;
  align-items: stretch;
}

.tm-shared-quote-main{
  min-width: 0;
}

.tm-shared-quote-kicker{
  margin-bottom: 8px;
  color: #0f766e;
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.tm-shared-quote-title{
  margin-bottom: 8px;
  color: var(--tm-text);
  font-size: clamp(1.45rem, 3vw, 2rem);
  font-weight: 950;
  line-height: 1.08;
}

.tm-shared-quote-subtitle{
  margin: 0;
  max-width: 56ch;
  color: var(--tm-text-muted);
  line-height: 1.55;
}

.tm-shared-total-card{
  display: grid;
  align-content: center;
  gap: 7px;
  min-height: 124px;
  padding: 18px;
  border: 1px solid rgba(20,184,166,.26);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(20,184,166,.10) 0%, rgba(255,255,255,.92) 100%);
  text-align: right;
}

.tm-shared-total-label{
  color: var(--tm-text-muted);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.tm-shared-total-value{
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 950;
  letter-spacing: -.04em;
  line-height: 1;
  overflow-wrap: anywhere;
}

.tm-shared-snapshot{
  display: grid;
  grid-template-columns: 1.3fr .8fr 1fr;
  gap: 12px;
  margin-top: 20px;
}

.tm-shared-snapshot-item{
  min-width: 0;
  padding: 14px 15px;
  border: 1px solid var(--tm-border);
  border-radius: 12px;
  background: rgba(248,250,252,.82);
}

.tm-shared-snapshot-item span{
  display: block;
  margin-bottom: 5px;
  color: var(--tm-text-muted);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.2;
  text-transform: uppercase;
}

.tm-shared-snapshot-item strong{
  display: block;
  color: var(--tm-text);
  font-size: .98rem;
  font-weight: 900;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.tm-shared-quote-actions{
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(160px, .8fr) minmax(140px, .7fr);
  gap: 10px;
  align-items: center;
  margin-top: 20px;
}

.tm-shared-quote-actions .tm-btn{
  min-height: 50px;
}

.tm-shared-quote-actions .tm-btn-primary{
  font-size: .98rem;
  font-weight: 950;
  box-shadow: 0 16px 30px rgba(17,179,173,.26);
}

.tm-shared-review-lede{
  padding: 0 2px;
}

/* Cards */
.tm-card,
.card,
.tm-linked-card,
.tm-panel{
  background: linear-gradient(180deg, var(--tm-surface) 0%, var(--tm-surface-3) 100%);
  border: 1px solid var(--tm-border);
  border-radius: var(--tm-radius-lg);
  padding: 20px;
  box-shadow: var(--tm-shadow-sm);
}
.tm-card--feature,.tm-card.is-active,.tm-card.is-selected{background:linear-gradient(180deg,var(--tm-surface) 0%,var(--tm-surface-2) 100%);border-color:rgba(249,115,22,.44);box-shadow:var(--tm-shadow-md);}
.tm-card h1,.tm-card h2,.tm-card h3,.card h1,.card h2,.card h3{color:var(--tm-text);}
.tm-card p,.tm-card li,.card p,.card li{color:var(--tm-text-soft);}
.tm-cardLink,.tm-card-link{display:block;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;}
.tm-cardLink:hover,.tm-card-link:hover{transform:translateY(-2px);border-color:var(--tm-border-strong);}
.tm-pro-upgrade-card{margin-top:14px;padding:14px 16px;border:1px solid rgba(96,165,250,.24);border-radius:var(--tm-radius-lg);background:rgba(96,165,250,.10);box-shadow:var(--tm-shadow-sm);}
.tm-pro-upgrade-card p{margin:6px 0 0;}
.tm-pro-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:rgba(96,165,250,.12);color:var(--tm-blue-light);font-size:12px;font-weight:900;}
.tm-pro-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}

/* Billing status pages */
.tm-billing-status-body{background:#071221;}
.tm-billing-status-page{display:grid;place-items:center;min-height:calc(100vh - 170px);padding:40px 0;}
.tm-billing-status-card{width:min(100%,600px);padding:32px;text-align:center;border-radius:var(--tm-radius-sm);background:#111c2d;border-color:rgba(148,163,184,.22);box-shadow:var(--tm-shadow-lg);}
.tm-billing-status-card--success{border-color:rgba(34,197,94,.34);}
.tm-billing-status-card--error{border-color:rgba(239,68,68,.34);}
.tm-billing-status-card--neutral{border-color:rgba(148,163,184,.24);}
.tm-billing-status-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 18px;border-radius:999px;border:1px solid var(--tm-border);background:rgba(148,163,184,.12);color:var(--tm-text);font-size:1.45rem;font-weight:950;line-height:1;}
.tm-billing-status-card--success .tm-billing-status-icon{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.42);color:#bbf7d0;}
.tm-billing-status-card--error .tm-billing-status-icon{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.42);color:#fecaca;}
.tm-billing-status-card--neutral .tm-billing-status-icon{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.32);color:#e2e8f0;}
.tm-billing-status-eyebrow{margin:0 0 8px;color:var(--tm-orange-light);font-size:.78rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;}
.tm-billing-status-copy h1{margin:0;color:var(--tm-text);font-size:clamp(1.85rem,3vw,2.35rem);line-height:1.08;letter-spacing:0;}
.tm-billing-status-copy p:last-child{margin:14px auto 0;max-width:44rem;color:var(--tm-text-soft);line-height:1.65;}
.tm-billing-status-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px;}
.tm-billing-status-actions .tm-btn{min-width:190px;}
.tm-billing-status-form{display:flex;margin:0;}
.tm-billing-status-form .tm-btn{width:100%;}
@media (max-width: 560px){
  .tm-billing-status-page{padding:24px 0;}
  .tm-billing-status-card{padding:24px 18px;}
  .tm-billing-status-actions,.tm-billing-status-form{width:100%;}
  .tm-billing-status-actions .tm-btn{width:100%;min-width:0;}
}

/* Trust pages */
.tm-trust-page{
  padding-top: 32px;
}

.tm-trust-wrap{
  width: min(860px, 100%);
  margin: 0 auto;
}

.tm-trust-card{
  padding: 28px;
  border-radius: 24px;
  box-shadow: var(--tm-shadow);
}

.tm-trust-back{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  font-size: .95rem;
  font-weight: 700;
  color: var(--tm-blue);
}

.tm-trust-meta{
  margin: 0 0 22px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--tm-border);
  font-size: .95rem;
  color: var(--tm-text-muted);
}

.tm-trust-prose{
  color: var(--tm-text-muted);
}

.tm-trust-prose > * + *{
  margin-top: 16px;
}

.tm-trust-prose h2{
  margin-top: 30px;
  margin-bottom: 10px;
  font-size: clamp(1.2rem, 1.8vw, 1.5rem);
}

.tm-trust-prose p{
  margin: 0;
  max-width: 72ch;
  font-size: 1rem;
  line-height: 1.75;
}

.tm-trust-prose ul{
  margin: 0;
  padding-left: 1.3rem;
}

.tm-trust-prose li{
  margin: 0;
  padding-left: .15rem;
  line-height: 1.7;
}

.tm-trust-prose li + li{
  margin-top: 10px;
}

/* Grid */
.grid2,
.tm-grid-2{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.grid3,
.tm-grid-3{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.tm-grid{
  display: grid;
  gap: 16px;
}

/* Buttons */
.tm-btn,.btn,button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:var(--tm-radius-md);border:1px solid transparent;font-size:14px;font-weight:850;letter-spacing:0;cursor:pointer;text-decoration:none;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;}
.tm-btn:hover,.btn:hover,button:hover{transform:translateY(-1px);}
.tm-btn:active,.btn:active,button:active{transform:translateY(0);}
.tm-btn-primary,.btn-primary{background:var(--tm-orange);color:#111827;border-color:rgba(249,115,22,.58);box-shadow:0 12px 24px rgba(249,115,22,.22);}
.tm-btn-primary:hover,.btn-primary:hover,.tm-btn-primary:focus-visible,.btn-primary:focus-visible{background:var(--tm-orange-light);border-color:var(--tm-orange-light);color:#111827;}
.tm-btn-secondary,.btn-secondary{background:var(--tm-surface);color:var(--tm-text);border:1px solid var(--tm-border-strong);}
.tm-btn-secondary:hover,.btn-secondary:hover,.tm-btn-secondary:focus-visible,.btn-secondary:focus-visible{background:var(--tm-surface-2);border-color:var(--tm-blue-light);}

.tm-heading-with-help,
.tm-inline-label-help{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
}

.tm-help-control{
  position:relative;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  vertical-align:middle;
}

.tm-help-button{
  display:inline-grid;
  place-items:center;
  width:22px;
  min-width:22px;
  height:22px;
  min-height:22px;
  padding:0;
  border:1px solid rgba(251,146,60,.42);
  border-radius:999px;
  background:rgba(249,115,22,.12);
  color:#fdba74;
  font:inherit;
  font-size:.78rem;
  font-weight:950;
  line-height:1;
  box-shadow:none;
  transform:none;
}

.tm-help-button:hover,
.tm-help-button:focus-visible,
.tm-help-button[aria-expanded="true"]{
  border-color:rgba(251,146,60,.74);
  background:rgba(249,115,22,.2);
  color:#fff7ed;
  outline:none;
  transform:none;
}

.tm-help-popover{
  position:fixed;
  top:var(--tm-help-popover-top, 0);
  left:var(--tm-help-popover-left, 0);
  z-index:2400;
  display:grid;
  gap:5px;
  width:min(280px, calc(100vw - 24px));
  max-width:calc(100vw - 24px);
  padding:10px 11px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:8px;
  background:#111c2d;
  color:#e5edf8;
  box-shadow:0 16px 34px rgba(0,0,0,.34);
  text-align:left;
  white-space:normal;
}

.tm-help-popover[hidden]{
  display:none;
}

.tm-help-popover-title{
  color:#fff;
  font-size:.82rem;
  font-weight:950;
  line-height:1.2;
}

.tm-help-popover-text,
.tm-help-popover-secondary{
  color:#b9c8dc;
  font-size:.8rem;
  font-weight:700;
  line-height:1.35;
}

.tm-help-popover-secondary{
  color:#fdba74;
}

@media (max-width:640px){
  .tm-help-popover{
    max-width:calc(100vw - 28px);
  }
}

.estimator-final-actions{
  display: grid;
  gap: 9px;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(15,118,110,.34);
  border-left: 4px solid #14b8a6;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(241,250,249,.90) 100%);
  box-shadow: 0 14px 34px rgba(15,118,110,.10);
}

.estimator-final-actions.is-disabled{
  border-color: rgba(148, 163, 184, .34);
  border-left-color: #94a3b8;
  background: #f8fafc;
  box-shadow: none;
}

.estimator-final-step{
  width: fit-content;
  padding: 5px 9px;
  border: 1px solid rgba(20,184,166,.30);
  border-radius: 999px;
  background: rgba(20,184,166,.12);
  color: #0f766e;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.estimator-final-heading{
  color: var(--tm-text);
  font-size: 1.24rem;
  font-weight: 950;
  line-height: 1.18;
}

.estimator-final-hint{
  max-width: 58ch;
  margin: -2px 0 2px;
  color:#334155;
  font-weight:750;
  line-height: 1.35;
}

.tm-final-help{
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(20,184,166,.22);
  border-radius: 12px;
  background: rgba(255,255,255,.58);
}

.tm-final-help__title{
  color: var(--tm-text);
  font-size: .88rem;
  font-weight: 900;
  line-height: 1.2;
}

.tm-final-help__steps{
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin: 0;
  padding-left: 18px;
  color: var(--tm-text-muted);
  font-size: .82rem;
  line-height: 1.35;
}

.tm-final-help__steps li{
  padding-left: 2px;
}

.estimator-final-cta{
  width: 100%;
  min-height: 62px;
  padding: 16px 20px;
  font-size: 1.05rem;
  font-weight: 950;
  border-radius: 12px;
  box-shadow: 0 18px 34px rgba(17,179,173,.30);
}

.estimator-final-cta:disabled{
  border-color: rgba(148, 163, 184, .36);
  background: #e5e7eb;
  color: #64748b;
  box-shadow: none;
  opacity: 1;
}

.tm-quote-trust-microcopy{
  color: var(--tm-text-muted);
  font-size: .82rem;
  line-height: 1.45;
}

.tm-quote-trust-microcopy--saved,
.tm-quote-trust-microcopy--shared{
  margin-top: 8px;
}

.tm-estimator-quickstart{
  margin-top: 12px;
  padding: 11px 12px;
}

.tm-estimator-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.tm-estimator-header h1{
  margin:0;
  color:var(--tm-text);
  font-size:clamp(1.8rem, 4vw, 2.45rem);
  letter-spacing:0;
  line-height:1.06;
}

.tm-estimator-kicker,
.tm-section-kicker{
  color:#0f766e;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.07em;
  line-height:1.2;
  text-transform:uppercase;
}

.tm-estimator-kicker{
  margin-bottom:7px;
}

.tm-section-kicker{
  margin-bottom:5px;
}

.tm-estimator-section{
  margin-top:18px;
}

.tm-estimator-quickstart__title{
  margin-bottom: 8px;
  color: var(--tm-text);
  font-weight: 900;
  font-size: .92rem;
}

.tm-estimator-quickstart__steps{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.tm-estimator-quickstart__steps span{
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid var(--tm-border);
  border-radius: 8px;
  background: var(--tm-surface-2);
  color: var(--tm-text);
  font-size: .8rem;
  font-weight: 800;
  line-height: 1.25;
}

.tm-quote-note,
.tm-inline-panel,
.tm-active-vehicle-banner{
  border:1px solid rgba(15,23,42,.09);
  border-radius:12px;
  background:rgba(248,250,252,.76);
}

.tm-quote-note{
  display:grid;
  gap:5px;
  margin-top:12px;
  padding:12px 14px;
}

.tm-quote-note > div:first-child{
  color:var(--tm-text);
  font-weight:900;
}

.tm-inline-panel{
  margin:12px 0;
  padding:14px 16px;
}

.tm-inline-panel__title{
  margin-bottom:6px;
  color:var(--tm-text);
  font-weight:900;
  line-height:1.25;
}

.tm-inline-panel__hint{
  margin-bottom:10px;
}

#estimateSavedBlock{
  border-color:rgba(15,118,110,.24);
  border-left:4px solid #14b8a6;
  background:
    linear-gradient(180deg, rgba(240,253,250,.95) 0%, rgba(255,255,255,.96) 100%);
  box-shadow:0 12px 26px rgba(15,118,110,.08);
}

#estimateSavedBlock .tm-inline-panel__title{
  display:flex;
  align-items:center;
  gap:8px;
  color:#0f766e;
  font-size:1rem;
}

#estimateSavedBlock .tm-inline-panel__title::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background:#14b8a6;
  box-shadow:0 0 0 4px rgba(20,184,166,.12);
}

.tm-local-status{
  margin-top:8px;
  color:var(--tm-text-muted);
  font-size:13px;
  line-height:1.35;
}

.tm-saved-link-text{
  margin-top:10px;
}

.tm-active-vehicle-banner{
  display:grid;
  gap:4px;
  margin-bottom:14px;
  padding:12px 14px;
  cursor:pointer;
}

.tm-active-vehicle-banner div{
  color:var(--tm-text-muted);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.05em;
  line-height:1.1;
  text-transform:uppercase;
}

.tm-active-vehicle-banner strong{
  color:var(--tm-text);
  font-size:.98rem;
  font-weight:900;
  line-height:1.2;
}

.tm-estimator-lede{
  margin-top: 10px;
  line-height: 1.4;
  font-size: .92rem;
}

.tm-cta-helper{
  margin-top: 4px;
  color: var(--tm-text-muted);
  font-size: .84rem;
  line-height: 1.35;
}

.tm-estimator-credibility{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.tm-repair-handoff-trust{
  display:grid;
  gap:5px;
  width:min(680px, 100%);
  max-width:100%;
  margin-top:12px;
  padding:10px 12px;
  border:1px solid rgba(15,118,110,.24);
  border-left:4px solid #14b8a6;
  border-radius:13px;
  background:linear-gradient(180deg, #f0fdfa 0%, #ffffff 100%);
  color:#334155;
  font-size:.84rem;
  line-height:1.25;
  box-shadow:0 8px 18px rgba(15,118,110,.06);
}

.tm-repair-handoff-trust > div{
  display:flex;
  flex-wrap:wrap;
  gap:5px 8px;
  align-items:baseline;
}

.tm-repair-handoff-trust strong{
  color:#0f766e;
  font-weight:950;
}

.tm-repair-handoff-trust span{
  font-weight:800;
}

.tm-repair-handoff-trust em{
  color:#0f172a;
  font-style:normal;
  font-weight:900;
}

.tm-estimator-credibility__item{
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid rgba(11,22,40,.10);
  border-radius: 10px;
  background: rgba(248,250,252,.82);
  color: var(--tm-text);
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.25;
}

.tm-quote-has-lines .tm-estimator-credibility{
  display:none;
}

.tm-quote-has-lines .tm-quote-note{
  display:none;
}

.tm-estimate-action-panel{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(17,179,173,.30);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(20,184,166,.08) 0%, rgba(20,184,166,.03) 100%);
  box-shadow: 0 8px 20px rgba(15,118,110,.06);
}

.tm-estimate-action-panel.is-ready-to-add{
  border-color: rgba(17,179,173,.42);
  background: linear-gradient(180deg, #ecfdf5 0%, #ffffff 100%);
  box-shadow: 0 12px 28px rgba(15,118,110,.12);
}

.tm-estimate-action-panel.is-quote-next{
  border-color: rgba(37,99,235,.18);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 7px 16px rgba(15,23,42,.05);
}

.tm-card.tm-service-add-focus{
  animation: tm-service-add-focus 1.15s ease-out;
}

@keyframes tm-service-add-focus{
  0%{
    box-shadow: 0 0 0 4px rgba(20,184,166,.16), var(--tm-shadow-md);
  }
  100%{
    box-shadow: var(--tm-shadow-sm);
  }
}

.tm-estimate-action-panel__label{
  color: var(--tm-text-muted);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.tm-estimate-action-panel__text{
  margin-top: 4px;
  color: var(--tm-text);
  font-weight: 850;
  line-height: 1.35;
}

.tm-estimate-action-panel__button{
  min-height: 52px;
  padding-inline: 20px;
  font-size: .95rem;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: 0 14px 26px rgba(17,179,173,.24);
}

.tm-addServiceRow{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 7px;
  border: 1px solid rgba(20,184,166,.34);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(240,253,250,.96) 0%, rgba(220,252,247,.78) 100%);
  box-shadow: 0 8px 18px rgba(15,118,110,.07);
}

.tm-addServiceRow.is-ready-next-repair{
  border-color: rgba(17,179,173,.44);
  background: linear-gradient(180deg, #ecfdf5 0%, #ffffff 100%);
  box-shadow: 0 12px 26px rgba(15,118,110,.12);
}

.tm-addServiceRow .tm-hint{
  max-width: 260px;
  margin: 0;
  font-size: .8rem;
  line-height: 1.25;
}

.add-more-btn{
  min-height: 42px;
  white-space: nowrap;
}

.tm-addServiceRow.is-ready-next-repair .add-more-btn{
  min-height: 48px;
  font-weight: 950;
  box-shadow: 0 14px 26px rgba(17,179,173,.22);
}

.add-more-btn:focus-visible,
.tm-service-actions .tm-btn:focus-visible,
.tm-estimate-action-panel__button:focus-visible{
  outline: 3px solid rgba(37,99,235,.30);
  outline-offset: 2px;
}

.tm-vehicle-cta-group{
  display:flex;
  gap:10px;
  align-items:center;
}

.tm-vin-lookup-btn{
  margin-top:6px;
}

.tm-vin-decoded-meta,
.tm-estimate-action-hint{
  margin-top:8px;
}

.tm-field-helper{
  margin-top:6px;
}

.tm-service-field-shell{
  position:relative;
}

.tm-inline-clear-field{
  position:relative;
}

.tm-year-field{
  min-width:0;
  position:relative;
}

.tm-clearable-field{
  position:relative;
  display:block;
  width:100%;
}

.tm-clearable-field input,
.tm-clearable-field textarea{
  width:100%;
  padding-right:46px !important;
}

.tm-clearable-field--textarea .tm-input-clear-btn{
  top:24px;
  transform:translateY(-50%);
}

.tm-inline-clear-field select,
.tm-inline-clear-field input,
.tm-year-field select,
.tm-service-field-shell .service-search{
  width:100%;
  padding-right:46px;
}

.tm-inline-clear-field > select,
.tm-inline-clear-field > input,
.tm-year-field > select,
.tm-service-field-shell > .service-search{
  padding-right:46px !important;
}

.tm-input-clear-btn{
  position:absolute;
  top:50%;
  right:10px;
  z-index:2;
  width:36px;
  min-width:36px;
  height:36px;
  min-height:36px;
  margin:0;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#475569;
  font-size:1.25rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  transform:translateY(-50%);
  touch-action:manipulation;
}

.tm-inline-clear-field > .tm-input-clear-btn{
  top:52px;
}

.tm-year-field > .tm-input-clear-btn{
  top:52px;
}

.tm-service-field-shell > .tm-input-clear-btn{
  top:24px;
}

.tm-input-clear-btn[hidden]{
  display:none !important;
}

.tm-input-clear-btn:not([hidden]){
  display:flex;
  align-items:center;
  justify-content:center;
}

.tm-input-clear-btn:hover,
.tm-input-clear-btn:focus-visible,
.tm-input-clear-btn:active{
  background:rgba(15, 23, 42, .08);
  color:#0f766e;
  transform:translateY(-50%);
}

.tm-input-clear-btn:disabled{
  cursor:not-allowed;
  opacity:.55;
}

.tm-service-field-shell .service-results{
  position:relative;
  z-index:4;
  background:#fff;
}

.tm-status-box{
  margin-top:10px;
}

.tm-quote-notes-field{
  margin-top:12px;
}

.tm-device-save-label{
  margin-top:-4px;
  margin-bottom:8px;
}

.tm-draft-controls{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.tm-draft-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.tm-pro-upgrade-title{
  margin-top:8px;
  font-weight:900;
}

.tm-signature-canvas{
  width:100%;
  height:140px;
  display:block;
  touch-action:none;
}

.tm-addServiceRow .tm-hint{
  max-width: 240px;
  margin: 0;
  font-size: .78rem;
  font-weight: 750;
  line-height: 1.35;
  text-align: right;
}

.tm-addServiceRow .add-more-btn{
  min-height: 56px;
  padding: 15px 22px;
  border: 2px solid rgba(15,118,110,.55);
  background: linear-gradient(180deg, #16c8b5 0%, #0d9488 100%);
  color: #fff;
  box-shadow: 0 14px 28px rgba(15,118,110,.28);
  font-size: 1.02rem;
  font-weight: 950;
  border-radius: 14px;
  white-space: nowrap;
}

.tm-addServiceRow .add-more-btn:hover{
  border-color: rgba(15,118,110,.68);
  background: linear-gradient(180deg, #22d3c2 0%, #0f9f98 100%);
  box-shadow: 0 16px 32px rgba(15,118,110,.32);
}

.tm-service-title-group h2{
  margin-bottom: 4px;
}

.tm-service-workflow-copy{
  color: var(--tm-text-muted);
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.35;
}

.tm-quick-quotes{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 12px 0 14px;
  padding: 10px 0 2px;
  border-top: 1px solid var(--tm-border);
  border-bottom: 1px solid var(--tm-border);
  background: transparent;
  max-width: 100%;
  min-width: 0;
}

.tm-custom-service-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  font-weight:800;
  color:var(--tm-text);
}

.tm-custom-service-toggle input{
  width:18px;
  height:18px;
}

.tm-custom-service-fields{
  margin-top:12px;
}

.tm-quick-quotes__head{
  flex: 0 0 auto;
  padding-top: 9px;
}

.tm-quick-quotes__eyebrow{
  color: var(--tm-text-muted);
  font-size: .72rem;
  font-weight: 850;
  line-height: 1.15;
  text-transform: uppercase;
}

.tm-quick-quotes__list{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 100%;
  min-width: 0;
}

.tm-quick-quote{
  min-height: 38px;
  padding: 9px 12px;
  border: 1px solid var(--tm-border);
  border-radius: 10px;
  background: var(--tm-surface);
  color: var(--tm-text-muted);
  font-size: .82rem;
  font-weight: 850;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
  white-space: nowrap;
}

.tm-quick-quote:hover,
.tm-quick-quote.is-selected{
  border-color: rgba(20,184,166,.38);
  background: rgba(20,184,166,.08);
  color: var(--tm-text);
}

.tm-quick-quote:disabled{
  cursor: wait;
  opacity: .68;
}

.tm-estimator-parts-sources{
  display:grid;
  gap:10px;
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(14,116,144,.16);
  border-left:5px solid #0f766e;
  border-radius:12px;
  background:#f8fafc;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}

.tm-estimator-parts-sources__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.tm-estimator-parts-sources__head h3{
  margin:2px 0 0;
  color:#0f172a;
  font-size:1rem;
  line-height:1.2;
}

.tm-estimator-parts-sources__repair{
  border:1px solid rgba(14,116,144,.18);
  border-radius:999px;
  background:#ecfeff;
  color:#155e75;
  font-size:.76rem;
  font-weight:900;
  padding:5px 9px;
}

.tm-estimator-parts-sources__helper{
  margin:0;
  color:#475569;
  font-size:.84rem;
  line-height:1.4;
}

.tm-estimator-parts-source-group{
  display:grid;
  gap:7px;
}

.tm-estimator-parts-source-group__title{
  color:#cbd5e1;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
}

.tm-estimator-parts-source-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.tm-estimator-parts-source-link{
  border:1px solid rgba(15,23,42,.1);
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  font-size:.78rem;
  font-weight:800;
  line-height:1.2;
  padding:6px 9px;
  text-decoration:none;
}

.tm-estimator-parts-accordion{
  display:grid;
  gap:8px;
}

.tm-estimator-parts-disclosure{
  overflow:hidden;
  border:1px solid rgba(15,23,42,.1);
  border-radius:8px;
  background:#fff;
}

.tm-estimator-parts-disclosure summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  padding:10px 12px;
  color:#0f172a;
  cursor:pointer;
  font-weight:900;
  list-style:none;
}

.tm-estimator-parts-disclosure summary::-webkit-details-marker{
  display:none;
}

.tm-estimator-parts-disclosure summary::after{
  content:"+";
  color:#0f766e;
  font-size:1.1rem;
}

.tm-estimator-parts-disclosure[open] summary::after{
  content:"âˆ’";
}

.tm-estimator-parts-source-list--grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  border-top:1px solid rgba(15,23,42,.08);
  padding:10px;
}

.tm-estimator-parts-source-list--grid .tm-estimator-parts-source-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  text-align:center;
}

.pricing-controls{
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(15,118,110,.22);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f4fbfa 100%);
  box-shadow: 0 8px 18px rgba(15,23,42,.045);
}

.pricing-controls__head{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 8px;
}

.pricing-controls__title{
  color: var(--tm-text);
  font-size: .86rem;
  font-weight: 900;
  line-height: 1.2;
}

.pricing-controls__hint{
  color: #334155;
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: right;
}

.selected-service-context{
  margin: 0 0 8px;
  padding: 9px 10px;
  border: 1px solid rgba(15,118,110,.18);
  border-left: 4px solid #14b8a6;
  border-radius: 10px;
  background: #f8fffe;
  color: #334155;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.35;
}

.selected-service-context__title{
  color: #0f172a;
  font-size: .9rem;
  font-weight: 900;
  line-height: 1.25;
}

.selected-service-context__summary,
.selected-service-context__note,
.selected-service-context__confidence,
.selected-service-context__momentum{
  margin-top: 4px;
}

.selected-service-context__summary{
  display: none;
}

.selected-service-context__confidence{
  display:block;
  color: #334155;
}

.selected-service-context__confidence span{
  display:inline-flex;
  align-items:center;
  margin-right:6px;
  padding:3px 6px;
  border-radius:999px;
  border:1px solid rgba(15,118,110,.16);
  background:#ccfbf1;
  color:#0f766e;
  font-size:.68rem;
  font-weight:900;
  line-height:1.1;
  text-transform:uppercase;
}

.selected-service-context__momentum{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  padding-top:2px;
}

.selected-service-context__momentum span{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 7px;
  border:1px solid rgba(15,118,110,.14);
  border-radius:999px;
  background:#ffffff;
  color:#0f172a;
  font-size:.7rem;
  font-weight:900;
  line-height:1.15;
}

.selected-service-context__note{
  display:none;
}

.selected-service-context__link{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:6px;
  color:#0f766e;
  font-weight:850;
  text-decoration:none;
}

.selected-service-context__meta{
  margin-top:4px;
  font-weight: 750;
}

.pricing-controls__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: start;
}

.pricing-control{
  min-width: 0;
}

.pricing-controls label{
  margin-bottom: 5px;
  font-size: 12px;
}

.pricing-controls input:not([type="checkbox"]):not([type="radio"]),
.pricing-controls select{
  min-height: 44px;
  padding: 9px 11px;
  border-radius: 10px;
  font-weight: 750;
}

.pricing-controls .labor-inline{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}

.pricing-controls .labor-range{
  min-height: 14px;
  font-size: .72rem;
  line-height: 1.15;
}

.pricing-controls .recalc-note{
  margin: 8px 0 0;
  color:#334155;
  font-weight:750;
  font-size: .76rem;
  line-height: 1.35;
}

.labor-help{
  margin-top: 6px;
}

.labor-help .tm-hint{
  color:#334155;
  font-size: .78rem;
  font-weight:700;
  line-height: 1.35;
}

.tm-btn-ghost{
  background: transparent;
  color: var(--tm-blue);
  border: 1px solid rgba(37,99,235,.18);
}

.tm-btn-danger{
  background: rgba(220,38,38,.08);
  color: var(--tm-danger);
  border: 1px solid rgba(220,38,38,.18);
}

.tm-btn:disabled,
button:disabled{
  opacity: .55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Forms */
label,.tm-label{display:block;margin-bottom:6px;font-size:13px;font-weight:750;color:var(--tm-text-soft);}
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.input{width:100%;min-height:46px;padding:12px 14px;border-radius:var(--tm-radius-md);border:1px solid var(--tm-field-border);background:var(--tm-field-bg);color:var(--tm-field-text);outline:none;appearance:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.72);}
select{background-color:var(--tm-field-bg);}
input:hover,select:hover,textarea:hover,.input:hover{border-color:rgba(96,165,250,.48);}
input:focus,select:focus,textarea:focus,.input:focus{border-color:var(--tm-blue-light);box-shadow:0 0 0 4px rgba(96,165,250,.22);}
textarea{min-height:100px;resize:vertical;}
input::placeholder,textarea::placeholder{color:var(--tm-field-placeholder);}
input:disabled,select:disabled,textarea:disabled,.input:disabled,input[readonly],textarea[readonly]{opacity:.72;cursor:not-allowed;}
input[type="checkbox"],input[type="radio"]{width:auto;min-height:auto;accent-color:var(--tm-orange);}

/* Tables */
.tm-table-wrap,.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{width:100%;border-collapse:collapse;color:var(--tm-text-soft);}
th,td{padding:12px 10px;border-bottom:1px solid var(--tm-border);text-align:left;vertical-align:top;}
th{color:var(--tm-text);font-size:12px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;background:rgba(96,165,250,.08);}
tr:hover td{background:rgba(96,165,250,.05);}

/* Estimator blocks */
.line-items,
.line-item,
.preview,
.totals,
.breakdown-card,
.tm-list-card,
.tm-repair-card{
  background: var(--tm-surface);
  border: 1px solid var(--tm-border);
  border-radius: 16px;
  box-shadow: var(--tm-shadow-sm);
}

.line-items,
.preview,
.totals,
.breakdown-card{
  padding: 14px;
}

.line-items{
  margin-top: 14px;
  padding: 14px;
  border-color: rgba(20,184,166,.20);
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfb 100%);
}

.line-items-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(11,22,40,.08);
}

.line-items-title{
  color: var(--tm-text);
  font-size: 1rem;
  font-weight: 950;
  line-height: 1.2;
}

.line-items-hint{
  max-width: 460px;
  color: var(--tm-text-muted);
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.45;
  text-align: right;
}

.section-header--vehicles{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tm-vehicle-cta-group .clear-fields-btn,
.tm-saved-quote-actions .tm-btn-secondary,
.tm-shared-quote-actions .tm-btn-secondary,
.tm-confirm-secondary-actions .tm-btn-secondary{
  box-shadow: none;
}

.tm-estimate-total-bar{
  margin-top: 14px;
  padding: 14px 18px;
  border-radius: 14px;
  border: 1px solid rgba(11,22,40,.12);
  border-left: 4px solid rgba(20,184,166,.72);
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fb 100%);
  box-shadow: 0 8px 20px rgba(15,23,42,.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.tm-estimate-total-bar__label{
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--tm-text-muted);
}

.tm-estimate-total-bar__value{
  font-size: 2rem;
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0;
  color: #0f172a;
}

.line-items-list,
.labor-breakdown-list{
  display: grid;
  gap: 10px;
}

.line-items-list{
  counter-reset: quote-job;
}

.line-items-review-note{
  display: none;
  margin: 8px 0 14px;
  padding: 10px 12px;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 8px;
  background: #f8fafc;
  color: var(--tm-text-muted);
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.35;
}

.tm-paired-suggestions{
  margin-top: 10px;
  padding: 10px 11px;
  border: 1px solid rgba(15,118,110,.16);
  border-radius: 10px;
  background: #f8fffe;
}

.tm-completion-suggestions{
  margin-top: 8px;
  padding: 10px;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 10px;
  background: #ffffff;
}

.tm-estimator-workflow-shortcuts{
  margin-top: 10px;
  padding: 11px;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,250,252,.96) 100%);
  box-shadow: 0 6px 16px rgba(15,23,42,.045);
}

.tm-paired-suggestions__head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
}

.tm-completion-suggestions__head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.tm-estimator-workflow-shortcuts__head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.tm-paired-suggestions__eyebrow{
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #0f766e;
}

.tm-completion-suggestions__eyebrow{
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #475569;
}

.tm-estimator-workflow-shortcuts__eyebrow{
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #2563eb;
}

.tm-paired-suggestions__title{
  margin-top: 3px;
  color: #1e293b;
  font-size: .84rem;
  font-weight: 850;
  line-height: 1.35;
}

.tm-completion-suggestions__title{
  margin-top: 3px;
  color: var(--tm-text);
  font-size: .84rem;
  font-weight: 800;
  line-height: 1.35;
}

.tm-estimator-workflow-shortcuts__title{
  margin-top: 3px;
  color: var(--tm-text);
  font-size: .86rem;
  font-weight: 850;
  line-height: 1.35;
}

.tm-paired-suggestions__list{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tm-completion-suggestions__list{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tm-estimator-workflow-shortcuts__list{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.tm-paired-suggestion{
  min-height: 54px;
  border: 1px solid rgba(15,118,110,.16);
  border-radius: 9px;
  background: #ffffff;
  color: var(--tm-text);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 9px;
  text-align: left;
  box-shadow: 0 3px 9px rgba(15,23,42,.035);
}

.tm-completion-suggestion{
  min-height: 58px;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 9px;
  background: #fff;
  color: var(--tm-text);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  text-align: left;
}

.tm-estimator-workflow-shortcut{
  min-height: 68px;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 10px;
  background: #fff;
  color: var(--tm-text);
  cursor: pointer;
  display: flex;
  align-items: stretch;
  padding: 9px 10px;
  text-align: left;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(15,23,42,.04);
  position: relative;
  overflow: hidden;
}

.tm-estimator-workflow-shortcut::before{
  content: "";
  width: 4px;
  border-radius: 999px;
  background: #14b8a6;
  margin: 1px 9px 1px 0;
  flex: 0 0 auto;
}

.tm-estimator-workflow-shortcut[data-kind="repair"]::before,
.tm-estimator-workflow-shortcut[data-kind="blueprint"]::before{
  background: #2563eb;
}

.tm-estimator-workflow-shortcut[data-kind="system"]::before{
  background: #64748b;
}

.tm-paired-suggestion:hover{
  border-color: rgba(20,184,166,.34);
  background: #fff;
  box-shadow: 0 6px 14px rgba(20,184,166,.08);
}

.tm-completion-suggestion:hover{
  border-color: rgba(71,85,105,.32);
  background: #f8fafc;
}

.tm-estimator-workflow-shortcut:hover,
.tm-estimator-workflow-shortcut:focus-visible{
  border-color: rgba(37,99,235,.24);
  background: #f8fafc;
  box-shadow: 0 8px 18px rgba(15,23,42,.07);
}

.tm-paired-suggestion:disabled{
  cursor: progress;
  opacity: .65;
}

.tm-completion-suggestion:disabled{
  cursor: progress;
  opacity: .65;
}

.tm-estimator-workflow-shortcut:disabled{
  cursor: progress;
  opacity: .65;
}

.tm-paired-suggestion span{
  display: grid;
  gap: 3px;
  min-width: 0;
  font-size: .86rem;
  font-weight: 850;
  line-height: 1.25;
}

.tm-completion-suggestion span{
  display: grid;
  gap: 3px;
  min-width: 0;
  font-size: .86rem;
  font-weight: 850;
  line-height: 1.25;
}

.tm-estimator-workflow-shortcut span{
  display: grid;
  gap: 3px;
  min-width: 0;
  font-size: .86rem;
  font-weight: 850;
  line-height: 1.25;
}

.tm-paired-suggestion strong,
.tm-completion-suggestion strong,
.tm-estimator-workflow-shortcut strong{
  font: inherit;
  min-width: 0;
  overflow-wrap: anywhere;
}

.tm-paired-suggestion em,
.tm-completion-suggestion em,
.tm-estimator-workflow-shortcut em{
  color: #334155;
  font-size: .73rem;
  font-style: normal;
  font-weight: 650;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.tm-paired-suggestion small{
  white-space: nowrap;
  color: #0f766e;
  font-size: .72rem;
  font-weight: 900;
}

.tm-completion-suggestion small{
  white-space: nowrap;
  color: var(--tm-text-muted);
  font-size: .74rem;
  font-weight: 800;
}

.tm-estimator-workflow-shortcut small{
  color: #2563eb;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.line-item{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 12px;
}

.line-item .name,
.line-item .money,
.preview-label,
.preview-value,
.totals-title{
  color: var(--tm-text);
  font-weight: 800;
}

.line-item .meta,
.labor-range,
.recalc-note,
.breakdown-disclaimer,
.tm-hint{
  color: var(--tm-text-muted);
}

.preview,
.totals-head,
.totals-row,
.totals-controls{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.totals-grid{
  display: grid;
  gap: 8px;
}

.totals-grand{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--tm-border);
  color: var(--tm-text);
  font-size: 1.08rem;
  font-weight: 850;
}

.breakdown-panel{
  overflow: hidden;
  border: 1px solid rgba(37,99,235,.14);
  border-radius: 16px;
  background: var(--tm-surface);
}

.breakdown-toggle{
  width: 100%;
  padding: 14px 16px;
  border: 0;
  background: linear-gradient(180deg, rgba(37,99,235,.08), rgba(37,99,235,.03));
  color: var(--tm-text);
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
}

.breakdown-content{
  padding: 14px 16px 16px;
  border-top: 1px solid var(--tm-border);
}

.breakdown-title{
  color: var(--tm-text);
  font-weight: 800;
}

.labor-breakdown-row,
.breakdown-steps > div{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
}

.labor-breakdown-hours,
.breakdown-steps strong{
  color: var(--tm-text);
  font-weight: 800;
  white-space: nowrap;
}

.service-line-item-actions,
.draft-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* VIN */
.vin-panel{
  margin-top: 10px;
  padding: 14px;
  border-radius: 14px;
  background: var(--tm-surface-2);
  border: 1px solid var(--tm-border);
}

.vin-toggle{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  padding: 0;
  color: var(--tm-blue);
  font-weight: 700;
}

.vin-arrow{
  transition: transform .2s ease;
}

.vin-toggle.expanded .vin-arrow{
  transform: rotate(90deg);
}

/* Search and cards */
.rel-list,
.tm-repair-guide-list,
.tm-search-results{
  display: grid;
  gap: 12px;
}

.rel-chip,
.tm-repair-guide-item,
.tm-search-result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;

  padding:16px 18px;

  border-radius:14px;
  background:var(--tm-surface);
  border:1px solid var(--tm-border);

  box-shadow:var(--tm-shadow-sm);
}

.tm-repair-guide-item strong,
.tm-search-result__title{
  font-weight:700;
  color:var(--tm-text);
}

.tm-repair-guide-item p,
.tm-search-result__summary{
  margin-top:4px;
  font-size:.95rem;
}

.tm-workflow-entry-card{
  min-width:0;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.tm-workflow-entry-card:first-child{
  border-color:rgba(17, 179, 173, .22);
  background:linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%);
  box-shadow:0 10px 24px rgba(15, 118, 110, .075);
}

.tm-workflow-entry-card:hover,
.tm-workflow-entry-card:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(17, 179, 173, .30);
}

.tm-workflow-entry-card__action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  max-width:100%;
  padding:6px 9px;
  border:1px solid rgba(15, 118, 110, .18);
  border-radius:999px;
  background:#f0fdfa;
  color:#0f766e;
  font-size:.76rem;
  font-weight:900;
  line-height:1.1;
  white-space:nowrap;
}

.tm-workflow-primary-card{
  border-color:rgba(17, 179, 173, .22) !important;
  background:linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%) !important;
  box-shadow:0 10px 24px rgba(15, 118, 110, .075) !important;
}

.tm-workflow-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:2px;
}

.rel-code{
  color: var(--tm-blue);
  font-weight: 850;
}

.tm-repair-guide-search{
  position:relative;
  display:flex;
  align-items:center;
  margin-top:18px;
}

.tm-repair-guide-search input{
  width:100%;
  min-height:54px;
  padding:13px 48px !important;
  border:1px solid rgba(15,118,110,.20);
  border-radius:14px;
  background:#ffffff;
  color:var(--tm-text);
  font-size:1rem;
  font-weight:800;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.tm-repair-guide-search input:focus{
  outline:none;
  border-color:rgba(20,184,166,.58);
  box-shadow:0 0 0 4px rgba(20,184,166,.13), 0 10px 22px rgba(15,23,42,.07);
}

.tm-repair-guide-search input::-webkit-search-cancel-button{
  appearance:none;
}

.tm-repair-guide-search__icon{
  position:absolute;
  left:17px;
  width:17px;
  height:17px;
  border:2px solid #0f766e;
  border-radius:999px;
  pointer-events:none;
}

.tm-repair-guide-search__icon::after{
  content:"";
  position:absolute;
  right:-6px;
  bottom:-5px;
  width:8px;
  height:2px;
  border-radius:999px;
  background:#0f766e;
  transform:rotate(45deg);
}

.tm-repair-guide-search .tm-input-clear-btn{
  right:8px;
}

.tm-repair-guide-empty{
  margin:14px 0 0;
  padding:13px 14px;
  border:1px solid rgba(15,118,110,.18);
  border-radius:12px;
  background:#f8fffe;
  color:#0f172a;
  font-weight:900;
  line-height:1.35;
}

.tm-repair-guide-count{
  width:max-content;
  max-width:100%;
  margin:12px 0 0;
  padding:7px 10px;
  border:1px solid rgba(15,118,110,.18);
  border-radius:999px;
  background:#ccfbf1;
  color:#0f766e;
  font-size:.82rem;
  font-weight:950;
  line-height:1.35;
}

.rel-text,
.tm-search-result__title{
  color: var(--tm-text);
  font-weight: 700;
}

.tm-search-result__summary,
.tm-meta,
.tm-disclaimer{
  color: var(--tm-text-muted);
}

/* Status, Callouts, and Empty States */
.status,#statusBox,.tm-status,.tm-alert,.tm-callout,.tm-empty-state,.tm-error-state,.tm-success-state{min-height:46px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--tm-radius-md);border:1px solid var(--tm-border);background:var(--tm-surface-2);color:var(--tm-text-soft);}
.tm-status-badge,.status-badge,.badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:3px 9px;border-radius:999px;border:1px solid var(--tm-border);background:rgba(148,163,184,.12);color:var(--tm-text-soft);font-size:12px;font-weight:850;line-height:1.2;}
.status[data-kind="ok"],#statusBox[data-kind="ok"],.tm-alert--success,.tm-success-state,.tm-status-badge--success,.status-badge--success{background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.30);color:#bbf7d0;}
.status[data-kind="error"],#statusBox[data-kind="error"],.tm-alert--error,.tm-error-state,.tm-status-badge--danger,.status-badge--danger{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.32);color:#fecaca;}
.status[data-kind="info"],#statusBox[data-kind="info"],.tm-alert--info,.tm-callout,.tm-status-badge--info,.status-badge--info{background:rgba(59,130,246,.10);border-color:rgba(96,165,250,.30);color:#bfdbfe;}
.status[data-kind="warning"],#statusBox[data-kind="warning"],.tm-alert--warning,.tm-status-badge--warning,.status-badge--warning{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.34);color:#fde68a;}
#confirmMsg:empty{display:none;}
#confirmMsg.status{margin-top:12px;}
#confirmMsg.status[data-kind="error"],#confirmMsg.status[data-kind="error"] *{color:#fecaca !important;font-weight:800;}

body.tm-estimator-page #confirmModal.modal{
  align-items: center;
  justify-items: center;
  place-items: center;
  overflow: auto;
  overscroll-behavior: contain;
  padding: clamp(12px, 3vw, 24px);
}

body.tm-estimator-page #confirmModal.modal.hidden{
  display: none !important;
  pointer-events: none;
}

body.tm-estimator-page #confirmModal .modal-backdrop{
  position: fixed;
}

body.tm-estimator-page #confirmModal .tm-confirm-modal{
  width: min(760px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  margin: auto;
  overflow-y: auto;
}

/* Modal */
body.modal-open{
  overflow: hidden;
}

.modal.hidden,
.tm-modal[hidden]{
  display: none;
}

.modal,
.tm-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 16px;
}

.modal-backdrop,
.tm-modal__overlay{
  position: absolute;
  inset: 0;
  background: rgba(2,10,18,.62);
}

.modal-card,
.tm-modal__panel{
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  background: var(--tm-surface);
  border: 1px solid var(--tm-border);
  border-radius: 22px;
  padding: 24px;
  box-shadow: var(--tm-shadow-lg);
}

.modal-header,
.tm-modal__head{
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--tm-border);
}

.modal-actions,
.tm-modal-actions{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.confirm-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 18px;
}

.confirm-summary{
  min-height: 150px;
  padding: 18px;
  border-radius: 18px;
  background: var(--tm-surface-2);
  border: 1px solid var(--tm-border);
}

.confirm-summary-label{
  font-size: 12px;
  color: var(--tm-text-muted);
}

.confirm-summary-value{
  color: var(--tm-text);
  font-size: 1.35rem;
  font-weight: 800;
}

.confirm-summary-total{
  color: var(--tm-text);
  font-size: 1.9rem;
  font-weight: 900;
}

.tm-confirm-modal{
  width: min(720px, 100%);
}

.tm-confirm-header{
  margin-bottom: 12px;
}

.tm-confirm-header h2{
  margin: 0;
}

.tm-confirm-intro{
  margin: 8px 0 0;
  color: var(--tm-text-muted);
  line-height: 1.5;
}

.tm-confirm-section{
  padding: 16px 0;
  border-top: 1px solid var(--tm-border);
}

.tm-confirm-section:first-of-type{
  padding-top: 0;
  border-top: 0;
}

.tm-confirm-section-title{
  display: block;
  margin: 0 0 10px;
  color: var(--tm-text-muted);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.2;
  text-transform: uppercase;
}

.tm-confirm-helper{
  margin: -4px 0 12px;
  color: var(--tm-text-muted);
  font-size: .84rem;
  line-height: 1.4;
}

.tm-confirm-helper--nudge{
  margin: 10px 0 0;
}

.tm-confirm-grid-compact{
  gap: 10px;
}

.tm-confirm-grid-compact textarea{
  min-height: 58px;
  line-height: 1.35;
}

.tm-confirm-check{
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-height: 36px;
  color: var(--tm-text);
  font-weight: 750;
  line-height: 1.35;
}

.tm-confirm-check input{
  margin-top: 2px;
  flex: 0 0 auto;
}

.tm-confirm-agree{
  margin-top: 10px;
}

.tm-approval-status{
  display: grid;
  gap: 3px;
  margin-top: 10px;
  padding: 11px 12px;
  border: 1px solid rgba(20,184,166,.22);
  border-radius: 12px;
  background: rgba(240,253,250,.64);
  color: var(--tm-text);
  line-height: 1.35;
}

.tm-approval-status strong{
  font-size: .9rem;
  font-weight: 900;
}

.tm-approval-status span{
  color: var(--tm-text-muted);
  font-size: .82rem;
  font-weight: 650;
}

.tm-approval-status[data-state="signature-needed"]{
  border-color: rgba(245,158,11,.36);
  background: rgba(255,251,235,.76);
}

.tm-approval-status[data-state="prepared"]{
  border-color: rgba(100,116,139,.24);
  background: rgba(248,250,252,.82);
}

.tm-approval-status[data-state="signed"]{
  border-color: rgba(20,184,166,.38);
  background: rgba(236,253,245,.9);
}

.tm-confirm-services > div,
.tm-confirm-services-wrap{
  color: var(--tm-text);
  line-height: 1.5;
}

.tm-confirm-services-wrap{
  padding: 12px;
  border: 1px solid rgba(20,184,166,.24);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(248,250,252,.94) 0%, rgba(255,255,255,.98) 100%);
  box-shadow: 0 10px 22px rgba(15,23,42,.045);
}

.tm-confirm-services-wrap > div:first-child{
  margin-bottom: 6px;
  color: var(--tm-text-muted);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

#confirmServicesList{
  color: var(--tm-text);
  font-weight: 750;
  overflow-wrap: anywhere;
}

.tm-confirm-services-list{
  display: grid;
  gap: 10px;
}

.tm-confirm-total-band{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 13px;
  border: 1px solid rgba(20,184,166,.28);
  border-radius: 12px;
  background: rgba(240,253,250,.86);
}

.tm-confirm-total-band span{
  color: #0f766e;
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: .05em;
  line-height: 1.15;
  text-transform: uppercase;
}

.tm-confirm-total-band strong{
  color: #0f172a;
  font-size: 1.35rem;
  font-weight: 950;
  line-height: 1;
}

.tm-confirm-service-row{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  padding: 3px 0 12px;
  border-bottom: 1px solid rgba(15,23,42,.08);
}

.tm-confirm-service-name{
  color: var(--tm-text);
  font-weight: 850;
  line-height: 1.35;
}

.tm-confirm-service-vehicle{
  margin-top: 3px;
  color: var(--tm-text-muted);
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.3;
}

.tm-confirm-service-breakdown{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:6px;
  margin-top:8px;
}

.tm-confirm-service-breakdown span{
  display:grid;
  gap:2px;
  min-width:0;
  padding:7px 8px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:9px;
  background:#fff;
  line-height:1.15;
}

.tm-confirm-service-breakdown span[data-kind="labor"]{
  background:rgba(240,253,250,.70);
  border-color:rgba(20,184,166,.18);
}

.tm-confirm-service-breakdown span[data-kind="parts"]{
  background:rgba(239,246,255,.66);
  border-color:rgba(59,130,246,.14);
}

.tm-confirm-service-breakdown span[data-kind="travel"]{
  background:rgba(250,245,255,.62);
  border-color:rgba(168,85,247,.14);
}

.tm-confirm-service-breakdown span.is-empty{
  background:rgba(248,250,252,.62);
  border-style:dashed;
}

.tm-confirm-service-breakdown strong,
.tm-confirm-service-breakdown em{
  min-width:0;
  font:inherit;
}

.tm-confirm-service-breakdown strong{
  color:var(--tm-text-muted);
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.tm-confirm-service-breakdown em{
  color:var(--tm-text);
  font-size:.82rem;
  font-style:normal;
  font-weight:900;
  overflow-wrap:anywhere;
}

.tm-confirm-service-breakdown span.is-empty em{
  color:var(--tm-text-muted);
}

.tm-confirm-service-note{
  margin-top:7px;
  color:var(--tm-text-muted);
  font-size:.76rem;
  font-weight:650;
  line-height:1.35;
}

.tm-confirm-service-status{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:5px;
  padding:3px 7px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:999px;
  background:#f8fafc;
  color:#475569;
  font-size:.72rem;
  font-weight:900;
  line-height:1.15;
}

.tm-confirm-service-status[data-status="urgent"]{
  border-color:rgba(220,38,38,.20);
  background:#fef2f2;
  color:#991b1b;
}

.tm-confirm-service-total{
  display:grid;
  gap:3px;
  color: var(--tm-text);
  line-height: 1.35;
  text-align:right;
  white-space: nowrap;
}

.tm-confirm-service-total span{
  color:var(--tm-text-muted);
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.tm-confirm-service-total strong{
  color:var(--tm-text);
  font-size:1rem;
  font-weight:950;
}

.tm-confirm-grand-total{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 4px;
  color: var(--tm-text);
  font-weight: 900;
}

.tm-confirm-grand-total strong{
  font-size: 1.14rem;
}

.tm-confirm-options-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tm-confirm-options-grid .tm-confirm-check{
  min-height: 46px;
  padding: 10px 11px;
  border: 1px solid var(--tm-border);
  border-radius: 12px;
  background: rgba(248,250,252,.70);
}

.tm-confirm-radio-row{
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
}

.tm-signature-panel{
  margin-top: 12px;
  padding: 13px;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 14px;
  background: rgba(248,250,252,.76);
}

.tm-confirm-signature-label{
  display: block;
  margin-bottom: 4px;
  font-weight: 800;
}

.tm-confirm-signature-copy{
  margin: 0 0 10px;
  color: var(--tm-text-muted);
  font-size: .82rem;
  font-weight: 650;
  line-height: 1.4;
}

.sig-wrap{
  border: 1px solid var(--tm-border);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.tm-signature-actions{
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.tm-confirm-message-preview{
  width: 100%;
  resize: vertical;
}

.tm-confirm-note{
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid var(--tm-border);
  border-radius: 12px;
  background: var(--tm-surface-2);
  line-height: 1.45;
}

.tm-confirm-actions{
  align-items: center;
  padding-top: 14px;
  border-top: 1px solid var(--tm-border);
}

.tm-confirm-primary{
  min-height: 58px;
  padding-inline: 28px;
  font-size: 1.04rem;
  font-weight: 950;
  box-shadow: 0 14px 28px rgba(17,179,173,.26);
}

.tm-confirm-secondary-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.tm-confirm-secondary-actions .tm-btn{
  min-height:42px;
  box-shadow:none;
}

.sig-canvas,
canvas,
#signatureCanvas{
  width: 100%;
  border-radius: 14px;
  background: #e9eef3;
  border: 1px solid #cbd5e1;
}

.toggle-group{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.toggle-group input{
  display: none;
}

.toggle-btn{
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid var(--tm-border);
  background: var(--tm-surface);
  color: var(--tm-text);
  font-weight: 700;
  cursor: pointer;
}

.toggle-group input:checked + .toggle-btn{
  background: var(--tm-blue);
  border-color: var(--tm-blue);
  color: #fff;
}

/* Feedback */
.feedback-fab,
.tm-feedback-fab{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2000;
  min-height: 54px;
  padding: 0 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, #14b8a6 0%, #0f9f98 100%);
  color: #fff;
  box-shadow: 0 16px 30px rgba(17,179,173,.25);
}

.tm-feedback-reminder[hidden]{
  display: none;
}

.tm-feedback-reminder{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 3000;
  width: min(360px, calc(100vw - 24px));
  padding: 16px 16px 14px;
  border: 1px solid rgba(17,179,173,.22);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(17,179,173,.08) 0%, rgba(17,179,173,0) 18px),
    var(--tm-surface);
  box-shadow: 0 20px 44px rgba(15,23,42,.22);
}

.tm-feedback-reminder::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 18px 0 0 18px;
  background: linear-gradient(180deg, #14b8a6 0%, #0f9f98 100%);
}

.tm-feedback-reminder__close{
  position: absolute;
  top: 8px;
  right: 8px;
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 12px;
  background: rgba(15,23,42,.06);
  color: var(--tm-text);
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}

.tm-feedback-reminder__close:hover{
  background: rgba(15,23,42,.1);
}

.tm-feedback-reminder__title{
  margin: 0 48px 6px 0;
  color: var(--tm-text);
  font-size: 1rem;
  font-weight: 800;
}

.tm-feedback-reminder__text{
  margin: 0;
  color: var(--tm-text-muted);
  line-height: 1.5;
}

.tm-feedback-reminder__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.tm-feedback-reminder__actions .tm-btn{
  flex: 1 1 0;
}

/* Footer */
.tm-footer{margin-top:36px;padding:20px 0 22px;border-top:1px solid var(--tm-border);background:rgba(5,14,27,.92);color:var(--tm-text-muted);}
.tm-footer-inner,.tm-footer-top,.tm-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;min-height:44px;}
.tm-footer-left,.tm-footer-right,.tm-footer-support,.tm-footer-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.tm-footer-brand,.tm-footer-links a,.tm-footerLink,.tm-footer-support{color:var(--tm-text-muted);font-size:14px;}
.tm-footer-links a,.tm-footerLink,.tm-support-email{text-decoration:none;}
.tm-footer-links a:hover,.tm-footerLink:hover,.tm-support-email,.tm-footer-support a{color:var(--tm-blue-light);}
.tm-support-email{text-underline-offset:3px;font-weight:700;}
.tm-support-email:hover{color:var(--tm-orange-light);}
/* Mobile */
@media (max-width: 900px){
  .grid3,
  .tm-grid-3{
    grid-template-columns: 1fr 1fr;
  }

  .confirm-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px){
  .grid2,
  .grid3,
  .tm-grid-2,
  .tm-grid-3{
    grid-template-columns: 1fr;
  }

  .tm-btn,
  button{
    min-height: 44px;
  }

  .tm-nav__inner{
    min-height: 62px;
  }

  .tm-hero{
    padding: 24px 18px;
  }

  .tm-estimator-header{
    display:grid;
    gap:10px;
  }

  .tm-estimator-header h1{
    font-size:1.82rem;
    line-height:1.08;
  }

  .modal,
  .tm-modal{
    padding: 10px;
    place-items: end center;
  }

  .modal-card,
  .tm-modal__panel{
    width: 100%;
    max-height: calc(100vh - 12px);
    border-radius: 20px 20px 0 0;
    padding: 18px;
  }

  .tm-estimator-quickstart{
    margin-top: 12px;
    padding: 12px;
  }

  .tm-estimator-quickstart__steps{
    grid-template-columns: 1fr 1fr;
    gap:7px;
  }

  .tm-estimator-quickstart__steps span{
    min-height:40px;
    padding:9px;
    font-size:.78rem;
  }

  .tm-estimator-credibility{
    grid-template-columns: 1fr;
    gap: 7px;
    margin-top: 10px;
  }

  .tm-estimator-credibility__item{
    min-height: 0;
    padding: 10px 12px;
    font-size: .78rem;
  }

  .tm-repair-handoff-trust{
    display:grid;
    gap:3px;
    width:100%;
    font-size:.8rem;
  }

  .tm-addServiceRow{
    width: 100%;
    margin: 10px 0 16px;
    padding: 12px;
    align-items: stretch;
    flex-direction: column;
  }

  .tm-vehicle-cta-group{
    width:100%;
    align-items:stretch;
    flex-direction:column-reverse;
  }

  .tm-vehicle-cta-group .tm-btn{
    width:100%;
  }

  .section-header--vehicles{
    align-items:stretch;
    flex-direction:column;
  }

  .tm-quote-note,
  .tm-inline-panel,
  .tm-active-vehicle-banner{
    border-radius:11px;
  }

  .tm-quote-note{
    padding:11px 12px;
  }

  .tm-addServiceRow .tm-hint{
    display: block;
    max-width: none;
    margin-bottom: 0;
    line-height: 1.4;
    text-align: left;
  }

  .tm-addServiceRow .add-more-btn{
    width: 100%;
    min-height: 58px;
    font-size: 1.02rem;
  }

  .tm-service-workflow-copy{
    font-size: .84rem;
  }

  .tm-quick-quotes{
    display: block;
    margin: 10px 0 14px;
    padding: 10px 0 4px;
  }

  .tm-quick-quotes__head{
    padding-top: 0;
    margin-bottom: 8px;
  }

  .tm-quick-quotes__list{
    gap: 8px;
  }

  .tm-quick-quote{
    flex: 1 1 calc(50% - 8px);
    min-height: 44px;
    padding: 10px 12px;
    text-align: center;
  }

  .tm-estimate-action-panel{
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }

  .tm-estimate-action-panel__button{
    width: 100%;
    min-height: 54px;
  }

  .tm-addServiceRow{
    width:100%;
    align-items:stretch;
    gap:8px;
    padding:8px;
  }

  .tm-addServiceRow .tm-hint{
    display:none;
  }

  .add-more-btn{
    width:100%;
    min-height:48px;
  }

  .line-items{
    margin-top: 14px;
    padding: 14px 11px;
    border-radius: 14px;
  }

  .line-items-head{
    display: block;
    margin-bottom: 12px;
    padding-bottom: 10px;
  }

  .line-items-title{
    font-size: .98rem;
  }

  .line-items-hint{
    max-width: none;
    margin-top: 5px;
    font-size: .78rem;
    text-align: left;
  }

  .line-items-list{
    gap: 12px;
  }

  .estimator-final-actions{
    gap: 12px;
    margin-top: 24px;
    padding: 18px 14px 16px;
    border-width: 2px;
    border-radius: 16px;
    background:
      linear-gradient(180deg, rgba(240,253,250,.98) 0%, rgba(255,255,255,.96) 100%);
    box-shadow: 0 16px 36px rgba(15,118,110,.12);
  }

  .estimator-final-step{
    justify-self: start;
  }

  .estimator-final-heading{
    text-align: left;
    font-size: 1.14rem;
  }

  .estimator-final-hint{
    justify-self: start;
    text-align: left;
    font-size: .9rem;
  }

  .tm-final-help{
    gap: 7px;
    padding: 11px;
  }

  .tm-final-help__title{
    text-align: left;
    font-size: .84rem;
  }

  .tm-final-help__steps{
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    font-size: .78rem;
  }

  .estimator-final-cta{
    min-height: 60px;
    padding: 15px 16px;
  }

  .tm-quote-trust-microcopy{
    font-size: .78rem;
  }

  .estimator-final-actions .tm-quote-trust-microcopy,
  .tm-quote-trust-microcopy--shared,
  .tm-quote-trust-microcopy--saved{
    text-align: left;
  }

  .tm-quick-quotes{
    display: block;
    margin: 8px 0 12px;
  }

  .tm-quick-quotes__head{
    margin-bottom: 6px;
  }

  .tm-quick-quotes__list{
    width: 100%;
    flex-wrap: wrap;
    gap: 5px;
  }

  .tm-quick-quote{
    flex: 0 1 auto;
    min-height: 44px;
    padding: 9px 12px;
  }

  .pricing-controls{
    margin-top: 10px;
    padding: 10px;
    border-radius: 10px;
  }

  .pricing-controls__head{
    display: block;
    margin-bottom: 8px;
  }

  .pricing-controls__hint{
    margin-top: 3px;
    font-size: .72rem;
    text-align: left;
  }

  .selected-service-context{
    margin-bottom: 8px;
    padding: 9px 10px;
    font-size: .76rem;
  }

  .selected-service-context__title{
    font-size: .86rem;
  }

  .pricing-controls__grid{
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .pricing-control--mode,
  #flatRateWrap{
    grid-column: 1 / -1;
  }

  .pricing-controls label{
    margin-bottom: 4px;
    font-size: 11px;
  }

  .pricing-controls input:not([type="checkbox"]):not([type="radio"]),
  .pricing-controls select{
    min-height: 40px;
    padding: 8px 10px;
    border-radius: 9px;
  }

  .pricing-controls .recalc-note{
    margin-top: 8px;
    font-size: .72rem;
  }

  .labor-help{
    margin-top: 6px;
  }

  .labor-help .tm-hint{
    font-size: .74rem;
  }

  .tm-confirm-section{
    padding: 14px 0;
  }

  .tm-confirm-helper{
    margin-bottom: 10px;
    font-size: .8rem;
  }

  .tm-approval-status{
    padding: 10px;
  }

  .tm-approval-status strong{
    font-size: .86rem;
  }

  .tm-approval-status span{
    font-size: .78rem;
  }

  .tm-confirm-options-grid{
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .tm-confirm-options-grid .tm-confirm-check,
  .tm-confirm-radio-row .tm-confirm-check{
    min-height: 46px;
    align-items: center;
  }

  .tm-confirm-services-wrap{
    padding: 12px;
  }

  .tm-confirm-services-list{
    gap: 9px;
  }

  .tm-confirm-total-band{
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .tm-confirm-service-row{
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .tm-confirm-service-name{
    font-size: .92rem;
  }

  .tm-confirm-service-total{
    width:100%;
    grid-template-columns:1fr auto;
    align-items:center;
    justify-self: stretch;
    padding:8px 9px;
    border:1px solid rgba(15,118,110,.16);
    border-radius:9px;
    background:rgba(240,253,250,.70);
    text-align:left;
  }

  .tm-confirm-service-breakdown{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:5px;
  }

  .tm-confirm-service-breakdown span{
    padding:6px 7px;
  }

  .tm-confirm-service-breakdown strong{
    font-size:.62rem;
  }

  .tm-confirm-service-breakdown em{
    font-size:.78rem;
  }

  .tm-confirm-actions{
    align-items: stretch;
    gap: 10px;
  }

  .tm-confirm-primary{
    width: 100%;
    min-height: 56px;
  }

  .tm-confirm-secondary-actions{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
  }

  .tm-confirm-secondary-actions .tm-btn{
    min-height: 46px;
  }

  .tm-confirm-secondary-actions .tm-btn:last-child{
    grid-column: 1 / -1;
  }

  .tm-shared-quote-actions,
  .tm-saved-quote-actions,
  .tm-pro-actions{
    display: grid !important;
    grid-template-columns: 1fr;
    align-items: stretch !important;
    gap: 9px !important;
    width: 100%;
  }

  .tm-shared-quote-actions .tm-btn,
  .tm-saved-quote-actions .tm-btn,
  .tm-pro-actions .tm-btn{
    width: 100%;
    min-height: 48px;
  }

  .service-line-item-actions .tm-btn,
  .draft-actions .tm-btn{
    flex: 1 1 0;
  }

  .tm-card[aria-label="Service"] .grid2{
    gap: 16px;
  }

  .tm-card[aria-label="Service"] input:not([type="checkbox"]):not([type="radio"]),
  .tm-card[aria-label="Service"] select,
  .tm-card[aria-label="Service"] textarea,
  #draftsCard select{
    min-height: 52px;
  }

  .tm-input-clear-btn{
    width:36px;
    min-width:36px;
    height:36px;
    min-height:36px;
    top:50%;
    right:10px;
  }

  .tm-inline-clear-field > .tm-input-clear-btn{
    top:52px;
  }

  .tm-service-field-shell > .tm-input-clear-btn{
    top:26px;
  }

  .tm-inline-clear-field select,
  .tm-inline-clear-field input,
  .tm-service-field-shell .service-search{
    padding-right:46px;
  }

  .tm-card[aria-label="Service"] .tm-btn,
  #draftsCard .tm-btn{
    min-height: 46px;
    padding-inline: 16px;
  }

  .tm-card[aria-label="Service"] .actions,
  .tm-card[aria-label="Service"] .inline-actions{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
  }

  #draftsCard > div[style*="display:flex"],
  #estimateSavedBlock > div[style*="display:flex"]{
    gap: 12px !important;
    align-items: stretch !important;
  }

  #saveDraftBtn,
  #draftsCard select{
    flex: 1 1 100%;
    min-width: 0 !important;
  }

  #loadDraftBtn,
  #deleteDraftBtn{
    flex: 1 1 calc(50% - 6px);
  }

  #estimateSavedBlock .tm-btn{
    flex: 1 1 100%;
  }

  .tm-shared-quote-card{
    margin-top: 12px;
    padding: 16px;
  }

  .tm-shared-quote-hero{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .tm-shared-quote-kicker,
  .tm-shared-quote-title,
  .tm-shared-quote-subtitle{
    text-align: left;
  }

  .tm-shared-quote-subtitle{
    margin-bottom: 0;
  }

  .tm-shared-total-card{
    min-height: 104px;
    padding: 16px;
    text-align: left;
  }

  .tm-shared-total-value{
    font-size: 2.35rem;
  }

  .tm-shared-snapshot{
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 12px;
  }

  .tm-shared-snapshot-item{
    padding: 12px;
  }

  .tm-shared-quote-actions{
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 14px;
  }

  .tm-shared-quote-actions .tm-btn{
    width: 100%;
    min-height: 50px;
  }

  .tm-quote-trust-microcopy--shared{
    text-align: left;
  }

  #draftsMsg,
  #estimateSavedLinkText{
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  .tm-trust-page{
    padding-top: 22px;
  }

  .tm-trust-card{
    padding: 20px;
    border-radius: 20px;
  }

  .tm-trust-prose p,
  .tm-trust-prose li{
    font-size: .98rem;
    line-height: 1.7;
  }
}

@media (max-width: 520px){
  .container,
  .tm-container{
    width: min(var(--tm-container), calc(100% - 20px));
  }

  .tm-section{
    padding: 20px 0;
  }

  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea{
    font-size: 16px;
  }

  .tm-trust-card{
    padding: 18px;
  }

  .tm-trust-back{
    margin-bottom: 14px;
  }

  .tm-trust-meta{
    margin-bottom: 18px;
    padding-bottom: 14px;
  }

  .tm-feedback-reminder{
    right: 10px;
    bottom: 10px;
    width: calc(100vw - 20px);
    padding: 14px 14px 12px;
    border-radius: 16px;
  }

  .tm-feedback-reminder::before{
    border-radius: 16px 0 0 16px;
  }

  .tm-feedback-reminder__close{
    top: 6px;
    right: 6px;
    width: 42px;
    height: 42px;
  }

  .tm-feedback-reminder__actions{
    flex-direction: column;
  }

  .tm-feedback-reminder__actions .tm-btn{
    width: 100%;
  }
}

/* Footer */
.tm-footer{margin-top:36px;padding:20px 0 22px;border-top:1px solid var(--tm-border);background:rgba(5,14,27,.92);color:var(--tm-text-muted);}
.tm-footer-inner,.tm-footer-top,.tm-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;min-height:44px;}
.tm-footer-left,.tm-footer-right,.tm-footer-support,.tm-footer-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.tm-footer-brand,.tm-footer-links a,.tm-footerLink,.tm-footer-support{color:var(--tm-text-muted);font-size:14px;}
.tm-footer-links a,.tm-footerLink,.tm-support-email{text-decoration:none;}
.tm-footer-links a:hover,.tm-footerLink:hover,.tm-support-email,.tm-footer-support a{color:var(--tm-blue-light);}
.tm-support-email{text-underline-offset:3px;font-weight:700;}
.tm-support-email:hover{color:var(--tm-orange-light);}
.tm-footer #feedbackBtn{min-height:auto;padding-top:0;padding-bottom:0;line-height:normal;}

h1{
  font-weight:800;
}

h2{
  font-weight:700;
}

h3{
  font-weight:700;
}

.tm-service-card{
  background:var(--tm-surface);
  border:1px solid var(--tm-border);
  border-radius:18px;
  padding:16px;
  margin-top:14px;
}

.tm-service-top{
  display:flex;
  justify-content:space-between;
  gap:18px;
}

.tm-service-title{
  margin:0;
  font-size:1.15rem;
  font-weight:800;
}

.tm-service-meta{
  margin-top:6px;
  font-size:.95rem;
  color:var(--tm-text-muted);
}

.tm-service-price{
  text-align:right;
}

.tm-service-price strong{
  font-size:1.7rem;
}

.tm-service-actions{
  margin-top:12px;
  display:flex;
  gap:10px;
}

.tm-labor-panel{
  margin-top:14px;
  border-top:1px solid var(--tm-border);
  padding-top:14px;
}

.tm-labor-row{
  display:flex;
  justify-content:space-between;
  padding:6px 0;
}

.tm-service-main{
  flex: 1;
  min-width: 0;
}

.tm-service-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.tm-service-toggle{
  flex-shrink:0;
}

.tm-service-meta{
  margin-top:8px;
  display:grid;
  gap:6px;
}

.tm-service-assigned{
  font-size:.95rem;
  font-weight:700;
  color:var(--tm-text);
}

.tm-service-stats{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  font-size:.93rem;
  color:var(--tm-text-muted);
}

.tm-service-stats span{
  white-space:nowrap;
}

.tm-service-actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

@media (max-width: 700px){
  .tm-service-top{
    flex-direction:row;
    align-items:flex-start;
    gap:12px;
  }

  .tm-service-price{
    min-width:86px;
    text-align:right;
  }

  .tm-service-price strong{
    font-size:1.35rem;
  }

  .tm-service-title{
    font-size:1.05rem;
    line-height:1.15;
  }

  .tm-service-toggle{
    padding:8px 10px;
    font-size:.82rem;
  }

  .tm-service-actions .tm-btn{
    min-width:0;
    padding:0 12px;
  }
}

.tm-service-card{
  position: relative;
  counter-increment: quote-job;
  background: #fff;
  border: 1px solid rgba(11,22,40,.12);
  border-left: 5px solid rgba(20,184,166,.72);
  border-radius: 10px;
  padding: 12px 14px 13px 15px;
  margin-top: 0;
  box-shadow: 0 5px 14px rgba(15,23,42,.05);
}

.tm-service-card.is-editing{
  border-color: rgba(37,99,235,.34);
  border-left-color: #2563eb;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 0 0 3px rgba(37,99,235,.10), 0 10px 24px rgba(15,23,42,.08);
}

.tm-service-card.is-pricing-selected{
  border-color: rgba(20,184,166,.34);
  border-left-color: #0f766e;
  box-shadow: 0 0 0 3px rgba(20,184,166,.10), 0 10px 24px rgba(15,23,42,.08);
}

.tm-service-card.is-pricing-dirty{
  border-left-color: #f59e0b;
}

.tm-service-card.is-newly-added{
  animation: tm-service-card-highlight 1.35s ease-out;
}

@keyframes tm-service-card-highlight{
  0%{
    border-color: rgba(20,184,166,.72);
    box-shadow: 0 0 0 4px rgba(20,184,166,.18), 0 10px 26px rgba(15,23,42,.08);
  }
  100%{
    border-color: rgba(11,22,40,.11);
    box-shadow: 0 8px 20px rgba(15,23,42,.055);
  }
}

.tm-service-card::before{
  content: "Job " counter(quote-job);
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  margin-bottom: 7px;
  padding: 3px 7px;
  border: 1px solid rgba(20,184,166,.20);
  border-radius: 7px;
  background: rgba(20,184,166,.08);
  color: #0f766e;
  font-size: .68rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.tm-service-card.is-editing::before{
  content: "Editing job " counter(quote-job);
  border-color: rgba(37,99,235,.24);
  background: rgba(239,246,255,.96);
  color: #1d4ed8;
}

.tm-service-card.is-pricing-selected:not(.is-editing)::before{
  content: "Pricing job " counter(quote-job);
}

.tm-service-card + .tm-service-card{
  margin-top: 0;
}

.tm-service-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(128px, auto);
  align-items:start;
  gap:12px;
}

.tm-service-head-main{
  flex:1;
  min-width:0;
}

.tm-service-title-row{
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:8px;
}

.tm-service-title{
  flex:1 1 260px;
  font-size:1.12rem;
  font-weight:900;
  line-height:1.22;
  color:var(--tm-text);
  overflow-wrap:anywhere;
}

.tm-service-editing-pill{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border:1px solid rgba(37,99,235,.18);
  border-radius:7px;
  background:rgba(239,246,255,.96);
  color:#1d4ed8;
  font-size:.7rem;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
}

.tm-repair-status-control{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:30px;
  margin-left:auto;
  padding:4px 6px 4px 8px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:9px;
  background:rgba(248,250,252,.92);
  color:#475569;
  line-height:1;
}

.tm-repair-status-control span{
  font-size:.64rem;
  font-weight:950;
  letter-spacing:.02em;
  text-transform:uppercase;
  white-space:nowrap;
}

.tm-repair-status-control select{
  min-height:25px;
  max-width:122px;
  padding:1px 22px 1px 7px;
  border:0;
  border-radius:7px;
  background:#fff;
  color:#0f172a;
  font-size:.78rem;
  font-weight:900;
  line-height:1;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.08);
}

.tm-repair-status-control[data-status="urgent"]{
  border-color:rgba(220,38,38,.30);
  background:rgba(254,242,242,.97);
  color:#991b1b;
}

.tm-repair-status-control[data-status="urgent"] select{
  color:#991b1b;
  box-shadow:inset 0 0 0 1px rgba(220,38,38,.18);
}

.tm-repair-status-control[data-status="diagnosed"]{
  border-color:rgba(37,99,235,.24);
  background:rgba(239,246,255,.94);
  color:#1d4ed8;
}

.tm-repair-status-control[data-status="monitor"]{
  border-color:rgba(245,158,11,.28);
  background:rgba(255,251,235,.96);
  color:#92400e;
}

.tm-repair-status-summary{
  display:none;
  margin-top:5px;
  color:var(--tm-text-muted);
  font-size:.77rem;
  font-weight:850;
}

.tm-repair-status-summary[data-status="urgent"]{
  color:#991b1b;
}

.tm-service-vehicle{
  margin-top:6px;
  font-size:.84rem;
  font-weight:700;
  color:var(--tm-text-muted);
}

.tm-service-meta{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:.82rem;
  color:#334155;
}

.tm-service-meta span{
  display:inline-grid;
  grid-template-columns:1fr;
  align-items:center;
  gap:2px;
  min-width:88px;
  white-space:normal;
  border:1px solid rgba(15,23,42,.08);
  background:rgba(248,250,252,.9);
  border-radius:9px;
  padding:7px 9px;
  line-height:1.15;
}

.tm-service-meta span[data-kind="labor"]{
  border-color:rgba(20,184,166,.18);
  background:rgba(240,253,250,.82);
}

.tm-service-meta span[data-kind="parts"]{
  border-color:rgba(59,130,246,.16);
  background:rgba(239,246,255,.78);
}

.tm-service-meta span[data-kind="travel"]{
  border-color:rgba(168,85,247,.16);
  background:rgba(250,245,255,.76);
}

.tm-service-meta span.is-empty{
  color:var(--tm-text-muted);
  background:rgba(248,250,252,.62);
  border-style:dashed;
}

.tm-service-meta strong,
.tm-service-meta em{
  font:inherit;
}

.tm-service-meta strong{
  color:var(--tm-text-muted);
  font-weight:900;
  font-size:.68rem;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.tm-service-meta em{
  color:var(--tm-text);
  font-style:normal;
  font-size:.92rem;
  font-weight:900;
}

.tm-cost-breakdown{
  display:grid;
  gap:6px;
  max-width:680px;
  margin-top:10px;
  padding:9px;
  border:1px solid rgba(15,118,110,.14);
  border-radius:10px;
  background:linear-gradient(180deg, rgba(248,250,252,.72) 0%, rgba(240,253,250,.55) 100%);
}

.tm-cost-breakdown__row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:12px;
  min-height:32px;
  padding:7px 8px;
  border-radius:7px;
  background:#fff;
}

.tm-cost-breakdown__row span{
  display:grid;
  gap:2px;
  min-width:0;
}

.tm-cost-breakdown__row strong{
  color:var(--tm-text);
  font-size:.84rem;
  font-weight:900;
  line-height:1.15;
}

.tm-cost-breakdown__row em{
  color:var(--tm-text-muted);
  font-size:.74rem;
  font-style:normal;
  font-weight:650;
  line-height:1.25;
}

.tm-cost-breakdown__row b{
  color:var(--tm-text);
  font-size:.92rem;
  font-weight:950;
  white-space:nowrap;
}

.tm-cost-breakdown__row--labor{
  background:rgba(240,253,250,.72);
}

.tm-cost-breakdown__row--parts{
  background:rgba(239,246,255,.70);
}

.tm-cost-breakdown__row--travel{
  background:rgba(250,245,255,.62);
}

.tm-cost-breakdown__row.is-empty{
  background:rgba(248,250,252,.62);
}

.tm-cost-breakdown__row.is-empty b{
  color:var(--tm-text-muted);
}

.tm-cost-breakdown__row--total{
  min-height:40px;
  border:1px solid rgba(15,118,110,.18);
  background:#f0fdfa;
}

.tm-cost-breakdown__row--total strong,
.tm-cost-breakdown__row--total b{
  color:#0f172a;
}

.tm-cost-breakdown__row--total b{
  font-size:1.08rem;
}

.tm-service-risk-note{
  margin-top: 12px;
  max-width: 680px;
  color: var(--tm-text-muted);
  font-size: .82rem;
  font-weight: 650;
  line-height: 1.5;
  padding: 9px 10px 9px 12px;
  border-left: 3px solid rgba(100,116,139,.26);
  border-radius: 8px;
  background: rgba(248,250,252,.70);
}

.tm-service-risk-label{
  display: block;
  margin-bottom: 3px;
  color: #475569;
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .05em;
  line-height: 1.1;
  text-transform: uppercase;
}

.tm-inspection-findings{
  display:block;
  margin-top:12px;
  max-width:680px;
}

.tm-inspection-findings span{
  display:block;
  margin-bottom:6px;
  color:var(--tm-text-muted);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.tm-inspection-findings textarea{
  width:100%;
  min-height:62px;
  max-height:140px;
  padding:10px 11px;
  resize:vertical;
  overflow:hidden;
  border-radius:9px;
  font-size:.94rem;
  line-height:1.42;
  background:#fff;
}

.tm-service-estimate{
  min-width:128px;
  text-align:right;
  flex-shrink:0;
  padding:11px 12px;
  border:1px solid rgba(15,118,110,.20);
  border-radius:11px;
  background:linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%);
  box-shadow:0 6px 16px rgba(15,118,110,.07);
}

.tm-service-estimate-label{
  display:block;
  font-size:.68rem;
  font-weight:950;
  color:#0f766e;
  margin-bottom:5px;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.tm-service-estimate strong{
  font-size:2rem;
  line-height:1;
  color:#0f172a;
  font-weight:950;
  letter-spacing:0;
}

.tm-service-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  margin-top:13px;
  padding-top:11px;
  border-top:1px solid rgba(15,23,42,.07);
}

.tm-service-actions .tm-btn{
  min-height:38px;
  padding:0 13px;
  font-size:.88rem;
}

.tm-service-action-recalc{
  border-color: rgba(37,99,235,.18);
  background: rgba(239,246,255,.82);
  color: #1d4ed8;
}

.tm-service-action-edit{
  border-color: rgba(15,23,42,.12);
}

.tm-service-action-remove{
  margin-left: auto;
}

.tm-service-card.is-unpriced .tm-service-estimate{
  border-style: dashed;
  background: rgba(248,250,252,.72);
}

.tm-service-card.is-unpriced .tm-service-estimate strong{
  color: var(--tm-text-muted);
}

.tm-labor-panel{
  margin-top:12px;
  padding:12px;
  border-top:1px solid rgba(11,22,40,.08);
  border-radius:9px;
  background:rgba(248,250,252,.68);
}

.tm-labor-range{
  margin-bottom:9px;
  font-size:.88rem;
  font-weight:850;
  color:var(--tm-text);
}

.tm-labor-rows{
  display:grid;
  gap:8px;
}

.tm-labor-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding:7px 0;
  border-top:1px solid rgba(15,23,42,.06);
}

.tm-labor-row span{
  color:var(--tm-text);
  line-height:1.4;
}

.tm-labor-row strong{
  white-space:nowrap;
  color:var(--tm-text);
  font-weight:800;
}

.tm-labor-note{
  margin:12px 0 0;
  font-size:.95rem;
  line-height:1.5;
  color:var(--tm-text-muted);
}

@media (max-width: 700px){
  .tm-paired-suggestions,
  .tm-completion-suggestions,
  .tm-estimator-workflow-shortcuts{
    padding: 11px;
  }

  .tm-paired-suggestions__list,
  .tm-completion-suggestions__list,
  .tm-estimator-workflow-shortcuts__list{
    display: grid;
    grid-template-columns: 1fr;
  }

  .tm-paired-suggestion,
  .tm-completion-suggestion,
  .tm-estimator-workflow-shortcut{
    align-items: flex-start;
    gap: 8px;
    width: 100%;
  }

  .tm-paired-suggestion small,
  .tm-completion-suggestion small,
  .tm-estimator-workflow-shortcut small{
    white-space: normal;
    text-align: right;
  }

  .tm-service-head{
    grid-template-columns:1fr;
    gap:11px;
  }

  .tm-service-card{
    padding: 13px 11px 12px;
    border-left-width: 4px;
    border-radius: 10px;
  }

  .tm-service-card::before{
    min-height: 22px;
    margin-bottom: 8px;
    padding: 4px 7px;
    font-size: .68rem;
  }

  .tm-service-title{
    flex-basis:100%;
    font-size:1.04rem;
    line-height:1.25;
  }

  .tm-repair-status-control{
    width:100%;
    justify-content:space-between;
    margin-left:0;
    border-radius:9px;
    padding:8px;
  }

  .tm-repair-status-control select{
    max-width:154px;
    min-height:32px;
  }

  .tm-service-vehicle{
    font-size:.84rem;
  }

  .tm-service-meta{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:7px;
  }

  .tm-service-meta span{
    grid-template-columns:1fr;
    gap:2px;
    min-width:0;
    max-width: 100%;
    padding:7px 8px;
    border-radius:9px;
    font-size:.82rem;
    line-height:1.2;
  }

  .tm-service-meta em{
    font-size:.95rem;
  }

  .tm-cost-breakdown{
    padding:8px;
    gap:6px;
  }

  .tm-cost-breakdown__row{
    gap:8px;
    padding:7px 8px;
  }

  .tm-cost-breakdown__row strong{
    font-size:.82rem;
  }

  .tm-cost-breakdown__row em{
    font-size:.7rem;
  }

  .tm-service-risk-note{
    margin-top: 10px;
    font-size: .8rem;
    line-height: 1.5;
    padding: 9px 10px;
  }

  .tm-inspection-findings{
    margin-top:10px;
  }

  .tm-inspection-findings textarea{
    min-height:64px;
    font-size:.94rem;
  }

  .tm-service-estimate{
    display:flex;
    width:100%;
    min-width:0;
    align-items:flex-end;
    justify-content:space-between;
    text-align:left;
    gap:12px;
    padding:12px;
    border-top:0;
    background:linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%);
  }

  .tm-service-estimate strong{
    font-size:1.8rem;
    overflow-wrap:anywhere;
  }

  .tm-service-actions{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:8px;
    margin-top:12px;
    padding-top:10px;
  }

  .tm-service-actions .tm-btn{
    width:100%;
    min-height:48px;
    padding:0 12px;
    white-space:normal;
  }

  .tm-service-action-remove{
    grid-column:1 / -1;
    margin-left:0;
  }

  .tm-service-actions .tm-service-toggle{
    grid-column:1 / -1;
  }

  .tm-labor-panel{
    margin-top:12px;
    padding:10px;
  }

  .tm-labor-row{
    gap:10px;
  }
}

/* =========================
   TorqueMech Vehicle Section
   ========================= */

.vehicle-card{
  background: linear-gradient(180deg, #eef4f8 0%, #e5edf4 100%) !important;
  border: 1px solid rgba(37,99,235,.18) !important;
  border-radius: 18px !important;
  padding: 18px !important;
  box-shadow:
    0 10px 24px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.7) !important;
}

.vehicle-card h3{
  font-size: 1.25rem;
  font-weight: 850;
  color: var(--tm-text);
  margin: 0 0 12px;
}

.vehicle-card label{
  font-size: .92rem;
  font-weight: 700;
  color: #4f6782;
  margin-bottom: 7px;
}

.vehicle-card select{
  background: #ffffff !important;
  border: 1px solid rgba(37,99,235,.16) !important;
  border-radius: 16px !important;
  min-height: 50px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 4px 12px rgba(15,23,42,.05) !important;
}

.vehicle-card select:hover{
  border-color: rgba(37,99,235,.28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 6px 16px rgba(15,23,42,.08) !important;
}

.vehicle-card select:focus{
  border-color: rgba(37,99,235,.45) !important;
  box-shadow:
    0 0 0 4px rgba(37,99,235,.10),
    0 8px 18px rgba(37,99,235,.10) !important;
}

.section-header--vehicles{
  margin-top: 6px;
  margin-bottom: 10px;
  padding: 0 2px;
}

.section-header--vehicles h2{
  font-size: 1.9rem;
  font-weight: 900;
  letter-spacing: -.04em;
}

#vehiclesContainer{
  margin-top: 8px;
}

.vehicle-make {
  max-height: 180px;
  overflow-y: auto;
}

.vehicle-make-results {
  background: rgba(255,255,255,0.98);
}

.make-result-item:last-child {
  border-bottom: none;
}

.make-result-item:hover,
.make-result-item:focus {
  background: rgba(125, 211, 252, 0.12);
}

.vehicle-make-results {
  max-height: 220px;
  overflow-y: auto;
  background: white;
}

.vehicle-make-results {
  position: relative;
  z-index: 20;
}

/* Mobile vehicle selector improvement */
@media (max-width: 768px) {

  .grid3 {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .vehicle-card {
    padding: 16px;
  }

}

/* Vehicles header mobile layout */
.section-header--vehicles {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

@media (max-width: 768px) {

  .section-header--vehicles {
    flex-direction: column;
    align-items: stretch;
  }

  .tm-vehicle-cta-group{
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 8px !important;
  }

  .tm-vehicle-cta-group .tm-btn,
  .vin-toggle{
    width: 100%;
    min-height: 48px;
  }

  .vin-toggle-text {
      color: #1d4ed8 !important;
  }

  .tm-estimate-total-bar{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 18px 16px;
  }

  .tm-estimate-total-bar__value{
    width: 100%;
    font-size: 1.9rem;
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .section-header--vehicles h2 {
    margin-bottom: 4px;
  }

  .section-header--vehicles button {
    width: 100%;
  }

}

.repair-diagram {
  display: block;
  width: 100%;
  max-width: 760px;
  height: auto;
  margin-top: 12px;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #f8fafc;
  padding: 12px;
}

.tm-repair-visual {
  margin: 12px 0 0;
}

.tm-repair-caption {
  margin-top: 10px;
  font-size: 0.95rem;
  color: var(--tm-text-muted);
}

.tm-repair-step {
  margin-bottom: 18px;
}

.tm-repair-step:last-child {
  margin-bottom: 0;
}

.tm-repair-stepText {
  color: var(--tm-text);
}

.tm-repair-stepVisual {
  max-width: 760px;
}

.repair-step-image {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 12px;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: #f8fafc;
  padding: 12px;
}

.tm-guide-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.tm-guide-card {
  display: grid;
  gap: 8px;
  text-decoration: none;
  color: inherit;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  padding: 18px;
  transition: opacity .16s ease, transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.tm-guide-card__footer{
  margin-top: 2px;
  color: #0f766e;
  font-size: .82rem;
  font-weight: 900;
  line-height: 1.2;
}

.tm-guide-card.is-search-match{
  border-color:rgba(15,118,110,.28);
  background:linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%);
  box-shadow:0 12px 26px rgba(15,118,110,.08);
}

.tm-guide-card.is-search-match h3{
  color:#0f172a;
}

.tm-blueprint-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin:12px 0 4px;
}

.tm-blueprint-difficulty{
  display:grid;
  gap:10px;
}

.tm-vehicle-context-note{
  display:grid;
  gap:4px;
  margin:14px 0 0;
  padding:12px 14px;
  border:1px solid rgba(17, 179, 173, .18);
  border-radius:10px;
  background:#f0fdfa;
  color:var(--tm-text);
}

.tm-vehicle-context-note span{
  font-weight:900;
}

.tm-vehicle-context-note p{
  margin:0;
  color:var(--tm-text-muted);
  font-size:.9rem;
}

.tm-workflow-context-note{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  margin:14px 0 0;
  padding:12px 14px;
  border:1px solid rgba(15, 23, 42, .10);
  border-radius:10px;
  background:#ffffff;
  color:var(--tm-text);
}

.tm-workflow-context-note strong{
  font-weight:900;
}

.tm-workflow-context-note span{
  flex:1 1 260px;
  color:var(--tm-text-muted);
  font-size:.92rem;
  line-height:1.4;
}

.tm-workflow-return-link{
  margin-left:8px;
}

.tm-estimate-repair-card{
  display:grid;
  justify-items:start;
  gap:10px;
}

.tm-estimate-repair-cta{
  max-width:100%;
  text-align:center;
  white-space:normal;
}

.tm-estimate-repair-card .tm-workflow-return-link{
  margin-left:0;
}

.tm-blueprint-workflow .tm-blueprint-hero-card{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 360px);
  gap:22px;
  align-items:start;
  padding:22px;
  border-color:rgba(17, 179, 173, .26);
  background:
    linear-gradient(135deg, rgba(240,253,250,.96) 0%, rgba(255,255,255,.98) 42%, rgba(239,246,255,.88) 100%);
  box-shadow:0 18px 42px rgba(15, 23, 42, .09);
}

.tm-blueprint-hero-main{
  min-width:0;
}

.tm-blueprint-hero-main .tm-eyebrow{
  color:#0f766e;
}

.tm-blueprint-summary{
  max-width:68ch;
  margin:0;
  padding:10px 12px;
  border:1px solid rgba(15, 23, 42, .08);
  border-left:4px solid #14b8a6;
  border-radius:12px;
  background:rgba(255, 255, 255, .72);
  color:#1e293b;
  font-size:.98rem;
  font-weight:650;
  line-height:1.5;
}

.tm-blueprint-vehicle-pill{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:28px;
  margin:0 0 10px;
  padding:6px 10px;
  border:1px solid rgba(37,99,235,.16);
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:.78rem;
  font-weight:900;
  line-height:1.15;
}

.tm-blueprint-hero-metrics,
.tm-blueprint-stat-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin-top:14px;
}

.tm-blueprint-hero-metrics div,
.tm-blueprint-stat-grid div{
  display:grid;
  gap:5px;
  min-width:0;
  padding:11px 12px;
  border:1px solid rgba(15, 23, 42, .10);
  border-radius:13px;
  background:rgba(255,255,255,.9);
  box-shadow:0 8px 18px rgba(15,23,42,.055);
}

.tm-blueprint-hero-metrics span,
.tm-blueprint-stat-grid span{
  color:var(--tm-text-muted);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.04em;
  line-height:1.1;
  text-transform:uppercase;
}

.tm-blueprint-hero-metrics strong,
.tm-blueprint-stat-grid strong{
  color:var(--tm-text);
  font-size:.94rem;
  font-weight:950;
  line-height:1.2;
  overflow-wrap:anywhere;
}

.tm-blueprint-difficulty-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  min-height:30px;
  padding:7px 11px;
  border:1px solid rgba(15, 118, 110, .24);
  border-radius:999px;
  background:#f0fdfa;
  color:#0f766e;
  font-size:.84rem;
  font-weight:950;
  line-height:1.05;
  box-shadow:0 6px 14px rgba(15,118,110,.10);
}

.tm-blueprint-difficulty-badge--moderate{
  border-color:rgba(37,99,235,.22);
  background:#eff6ff;
  color:#1d4ed8;
  box-shadow:0 6px 14px rgba(37,99,235,.09);
}

.tm-blueprint-difficulty-badge--advanced{
  border-color:rgba(180,83,9,.24);
  background:#fffbeb;
  color:#92400e;
  box-shadow:0 6px 14px rgba(180,83,9,.09);
}

.tm-blueprint-action-panel{
  display:grid;
  gap:9px;
  padding:14px;
  border:1px solid rgba(17, 179, 173, .36);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(236,253,245,.92) 100%);
  box-shadow:0 16px 32px rgba(15, 118, 110, .14);
}

.tm-blueprint-action-panel h2{
  margin-bottom:3px;
  font-size:1.12rem;
  letter-spacing:0;
}

.tm-next-action-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:6px;
}

.tm-next-action-strip span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 7px;
  border:1px solid rgba(15,118,110,.16);
  border-radius:9px;
  background:#ffffff;
  color:#0f172a;
  font-size:.72rem;
  font-weight:900;
  line-height:1.15;
  text-align:center;
}

.tm-estimate-bundle-list{
  display:grid;
  gap:6px;
  padding:10px;
  border:1px solid rgba(15, 23, 42, .08);
  border-radius:11px;
  background:rgba(255,255,255,.74);
}

.tm-estimate-bundle-list strong{
  color:var(--tm-text-muted);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.04em;
  line-height:1.1;
  text-transform:uppercase;
}

.tm-estimate-bundle-list a,
.tm-estimate-bundle-list span{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:28px;
  padding:6px 9px;
  border:1px solid rgba(17, 179, 173, .20);
  border-radius:999px;
  background:#f0fdfa;
  color:#0f766e;
  font-size:.78rem;
  font-weight:900;
  line-height:1.15;
  overflow-wrap:anywhere;
}

.tm-estimate-reasoning-list{
  display:grid;
  gap:6px;
}

.tm-estimate-reasoning-list span{
  display:block;
  padding:8px 9px;
  border:1px solid rgba(15, 23, 42, .08);
  border-left:3px solid #0f766e;
  border-radius:10px;
  background:#ffffff;
  color:#334155;
  font-size:.78rem;
  font-weight:800;
  line-height:1.32;
}

.tm-blueprint-action-kicker{
  display:block;
  margin-bottom:6px;
  color:#0f766e;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.07em;
  line-height:1.1;
  text-transform:uppercase;
}

.tm-blueprint-action-panel .tm-btn{
  width:100%;
  justify-content:center;
  min-width:0;
}

.tm-blueprint-action-panel .tm-estimate-repair-cta{
  min-height:58px;
  font-size:1rem;
  font-weight:950;
  box-shadow:0 18px 34px rgba(15,118,110,.28);
}

.tm-blueprint-mini-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding-top:2px;
}

.tm-blueprint-mini-actions a{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 9px;
  border:1px solid rgba(15, 23, 42, .10);
  border-radius:999px;
  background:#ffffff;
  color:#475569;
  font-size:.74rem;
  font-weight:850;
  line-height:1.15;
  box-shadow:none;
}

.tm-blueprint-priority-grid{
  display:grid;
  grid-template-columns:minmax(240px, .95fr) minmax(280px, 1.25fr) minmax(220px, .8fr);
  gap:12px;
  align-items:stretch;
}

.tm-blueprint-vehicle-section{
  padding-top:0;
}

.tm-blueprint-vehicle-details,
.tm-blueprint-context-details{
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.055);
}

.tm-blueprint-vehicle-details summary,
.tm-blueprint-context-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:52px;
  padding:13px 15px;
  cursor:pointer;
  color:var(--tm-text);
  font-weight:950;
  line-height:1.2;
  list-style:none;
}

.tm-blueprint-vehicle-details summary::-webkit-details-marker,
.tm-blueprint-context-details summary::-webkit-details-marker{
  display:none;
}

.tm-blueprint-vehicle-details summary::after,
.tm-blueprint-context-details summary::after{
  content:"+";
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(15,118,110,.16);
  background:#f0fdfa;
  color:#0f766e;
  font-weight:950;
}

.tm-blueprint-vehicle-details[open] summary::after,
.tm-blueprint-context-details[open] summary::after{
  content:"-";
}

.tm-blueprint-vehicle-details summary span,
.tm-blueprint-context-details summary span{
  min-width:0;
}

.tm-blueprint-vehicle-details summary strong,
.tm-blueprint-context-details summary strong{
  margin-left:auto;
  color:var(--tm-text-muted);
  font-size:.82rem;
  font-weight:850;
  text-align:right;
}

.tm-blueprint-vehicle-details .vehicle-card{
  margin:0 13px 13px;
  box-shadow:none !important;
}

.tm-blueprint-vehicle-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}

.tm-blueprint-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(15,23,42,.08);
}

.tm-blueprint-section-head h2{
  margin:0;
  color:var(--tm-text);
  font-size:1.32rem;
  font-weight:950;
  line-height:1.15;
}

.tm-blueprint-section-head p{
  max-width:44ch;
  margin:0;
  color:var(--tm-text-muted);
  font-size:.9rem;
  font-weight:700;
  line-height:1.35;
  text-align:right;
}

.tm-blueprint-workflow-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.tm-blueprint-step-card,
.tm-blueprint-intel-card,
.tm-blueprint-context-grid article{
  min-width:0;
  border:1px solid rgba(15,23,42,.10);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,250,252,.95) 100%);
  box-shadow:0 10px 24px rgba(15,23,42,.065);
}

.tm-blueprint-step-card{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:12px;
  align-items:start;
  padding:14px;
  border-left:4px solid rgba(20,184,166,.52);
}

.tm-blueprint-step-card span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#0f766e;
  color:#fff;
  font-size:.86rem;
  font-weight:950;
  line-height:1;
  box-shadow:0 8px 16px rgba(15,118,110,.20);
}

.tm-blueprint-step-card strong{
  color:var(--tm-text);
  font-size:.95rem;
  font-weight:850;
  line-height:1.42;
}

.tm-blueprint-intel-strip{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}

.tm-blueprint-intel-card{
  padding:14px;
}

.tm-blueprint-intel-card h3,
.tm-blueprint-context-grid h3{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  color:var(--tm-text);
  font-size:.96rem;
  font-weight:950;
  line-height:1.2;
}

.tm-blueprint-intel-card h3::before,
.tm-blueprint-context-grid h3::before{
  content:"";
  flex:0 0 auto;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#14b8a6;
  box-shadow:0 0 0 4px rgba(20,184,166,.12);
}

.tm-blueprint-intel-card .tm-blueprint-chip-list,
.tm-tool-group-grid--compact .tm-blueprint-chip-list{
  margin-top:8px;
  gap:6px;
}

.tm-tool-group-grid--compact{
  grid-template-columns:1fr;
  gap:10px;
}

.tm-tool-group-grid--compact > div{
  padding:8px;
  border:1px solid rgba(15,23,42,.07);
  border-radius:10px;
  background:rgba(255,255,255,.72);
}

.tm-tool-group-grid--compact strong{
  font-size:.72rem;
  color:var(--tm-text-muted);
  letter-spacing:.03em;
  text-transform:uppercase;
}

.tm-blueprint-intel-card .tm-blueprint-chip{
  min-height:28px;
  padding:6px 8px;
  border-radius:9px;
  font-size:.76rem;
  font-weight:850;
  line-height:1.22;
}

.tm-blueprint-intel-card .tm-priority-list{
  margin-top:0;
}

.tm-blueprint-intel-card .tm-priority-list li{
  padding-left:15px;
  font-size:.84rem;
  line-height:1.38;
}

.tm-symptom-cluster-stack{
  display:grid;
  gap:7px;
  margin-top:10px;
}

.tm-symptom-confidence{
  display:grid;
  gap:6px;
  margin-top:9px;
}

.tm-symptom-confidence-row{
  display:grid;
  gap:3px;
  padding:8px 9px;
  border:1px solid rgba(15, 23, 42, .08);
  border-radius:10px;
  background:#ffffff;
}

.tm-symptom-confidence-row strong{
  width:max-content;
  max-width:100%;
  min-height:22px;
  padding:4px 7px;
  border-radius:999px;
  border:1px solid rgba(15, 23, 42, .10);
  color:var(--tm-text-muted);
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.04em;
  line-height:1;
  text-transform:uppercase;
}

.tm-symptom-confidence-row--strong-match strong{
  border-color:rgba(15, 118, 110, .22);
  background:#f0fdfa;
  color:#0f766e;
}

.tm-symptom-confidence-row--possible-match strong{
  border-color:rgba(37, 99, 235, .18);
  background:#eff6ff;
  color:#1d4ed8;
}

.tm-symptom-confidence-row span{
  color:var(--tm-text);
  font-size:.78rem;
  font-weight:750;
  line-height:1.32;
}

.tm-symptom-cluster{
  display:grid;
  gap:3px;
  padding:8px 9px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:10px;
  background:#ffffff;
}

.tm-symptom-cluster strong{
  color:#0f766e;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.04em;
  line-height:1.1;
  text-transform:uppercase;
}

.tm-symptom-cluster span{
  color:var(--tm-text);
  font-size:.78rem;
  font-weight:750;
  line-height:1.32;
}

.tm-blueprint-context-details{
  padding:0;
}

.tm-blueprint-context-details summary{
  border-bottom:1px solid transparent;
}

.tm-blueprint-context-details[open] summary{
  border-bottom-color:rgba(15,23,42,.08);
}

.tm-blueprint-context-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  padding:14px;
}

.tm-blueprint-context-grid article{
  padding:14px;
}

.tm-blueprint-context-grid .tm-related-repair-grid{
  grid-template-columns:1fr;
}

.tm-context-mini-title{
  margin:12px 0 0;
  color:var(--tm-text-muted);
  font-size:.74rem;
  font-weight:950;
  letter-spacing:.04em;
  line-height:1.15;
  text-transform:uppercase;
}

.tm-verify-first-list,
.tm-repair-relation-groups,
.tm-recommendation-priority-groups{
  display:grid;
  gap:8px;
  margin-top:8px;
}

.tm-verify-first-list div{
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(17, 179, 173, .18);
  border-left:3px solid #14b8a6;
  border-radius:10px;
  background:#f0fdfa;
  color:#0f172a;
  font-size:.84rem;
  font-weight:850;
  line-height:1.35;
}

.tm-repair-relation-group{
  display:grid;
  gap:7px;
  min-width:0;
  padding:10px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:11px;
  background:#ffffff;
}

.tm-repair-relation-group h4{
  margin:0;
  color:#0f766e;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.04em;
  line-height:1.1;
  text-transform:uppercase;
}

.tm-relation-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
  padding-top:7px;
  border-top:1px solid rgba(15,23,42,.07);
}

.tm-relation-row:first-of-type{
  border-top:0;
  padding-top:0;
}

.tm-relation-row span{
  display:grid;
  gap:2px;
  min-width:0;
}

.tm-relation-row strong{
  color:var(--tm-text);
  font-size:.84rem;
  font-weight:950;
  line-height:1.2;
}

.tm-relation-row em{
  color:var(--tm-text-muted);
  font-size:.76rem;
  font-style:normal;
  font-weight:700;
  line-height:1.3;
}

.tm-relation-row a{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 8px;
  border:1px solid rgba(17, 179, 173, .20);
  border-radius:999px;
  background:#f0fdfa;
  color:#0f766e;
  font-size:.76rem;
  font-weight:900;
  line-height:1.1;
}

.tm-recommendation-priority-group{
  display:grid;
  gap:7px;
  min-width:0;
  padding:10px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:11px;
  background:#ffffff;
}

.tm-recommendation-priority-group h4{
  margin:0;
  width:max-content;
  max-width:100%;
  min-height:24px;
  padding:5px 8px;
  border-radius:999px;
  border:1px solid rgba(15, 23, 42, .10);
  color:var(--tm-text-muted);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.04em;
  line-height:1;
  text-transform:uppercase;
}

.tm-recommendation-priority-group--verify h4{
  border-color:rgba(15, 118, 110, .22);
  background:#f0fdfa;
  color:#0f766e;
}

.tm-recommendation-priority-group--bundle h4{
  border-color:rgba(217, 119, 6, .22);
  background:#fffbeb;
  color:#92400e;
}

.tm-recommendation-priority-group--situational h4{
  border-color:rgba(37, 99, 235, .18);
  background:#eff6ff;
  color:#1d4ed8;
}

.tm-recommendation-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
  padding-top:7px;
  border-top:1px solid rgba(15,23,42,.07);
}

.tm-recommendation-row:first-of-type{
  border-top:0;
  padding-top:0;
}

.tm-recommendation-row span{
  display:grid;
  gap:2px;
  min-width:0;
}

.tm-recommendation-row strong{
  color:var(--tm-text);
  font-size:.84rem;
  font-weight:950;
  line-height:1.2;
}

.tm-recommendation-row em{
  color:var(--tm-text-muted);
  font-size:.76rem;
  font-style:normal;
  font-weight:700;
  line-height:1.3;
}

.tm-recommendation-row a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 8px;
  border:1px solid rgba(17, 179, 173, .20);
  border-radius:999px;
  background:#f0fdfa;
  color:#0f766e;
  font-size:.76rem;
  font-weight:900;
  line-height:1.1;
}

#blueprint-workflow,
#mechanics-often-check,
#related-symptoms,
#companion-repairs,
#repair-intelligence,
#repair-workflow,
#quick-intelligence,
#technician-context{
  scroll-margin-top:76px;
}

.tm-blueprint-priority-grid > .tm-card{
  min-width:0;
  border-color:rgba(17, 179, 173, .14);
}

.tm-blueprint-priority-card{
  border-color:rgba(17, 179, 173, .20);
}

.tm-workflow-chip-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
  gap:8px;
  margin-top:10px;
}

.tm-workflow-check-chip{
  display:grid;
  gap:5px;
  padding:11px;
  border:1px solid rgba(15, 23, 42, .09);
  border-radius:12px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow:0 6px 16px rgba(15, 23, 42, .045);
  min-width:0;
}

.tm-workflow-check-chip strong{
  color:var(--tm-text);
  font-size:.88rem;
  font-weight:900;
  line-height:1.2;
}

.tm-workflow-check-chip span{
  color:var(--tm-text-muted);
  font-size:.78rem;
  font-weight:650;
  line-height:1.35;
}

.tm-workflow-check-chip a{
  width:max-content;
  max-width:100%;
  color:#0f766e;
  font-size:.78rem;
  font-weight:900;
  line-height:1.2;
}

.tm-blueprint-chip-list--actions .tm-blueprint-chip{
  border-color:rgba(17, 179, 173, .20);
  background:#f0fdfa;
  color:#0f766e;
}

.tm-repair-intel-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:12px;
}

.tm-repair-intel-panel{
  min-width:0;
  padding:13px;
  border:1px solid rgba(15, 23, 42, .08);
  border-radius:13px;
  background:linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(248,250,252,.90) 100%);
  box-shadow:0 8px 18px rgba(15, 23, 42, .045);
}

.tm-repair-intel-panel h3{
  margin-bottom:8px;
}

.tm-tool-group-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}

.tm-tool-group-grid strong{
  display:block;
  color:var(--tm-text);
  font-size:.78rem;
  font-weight:950;
  line-height:1.2;
}

.tm-torque-spec-list{
  display:grid;
  gap:8px;
}

.tm-torque-spec-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:10px;
  align-items:center;
  min-height:36px;
  padding:8px 10px;
  border:1px solid rgba(15, 23, 42, .09);
  border-radius:11px;
  background:#ffffff;
  box-shadow:0 4px 12px rgba(15, 23, 42, .035);
}

.tm-torque-spec-row strong{
  color:var(--tm-text);
  font-size:.84rem;
  font-weight:900;
  line-height:1.25;
}

.tm-torque-value{
  color:#0f766e;
  font-size:.82rem;
  font-weight:950;
  line-height:1.2;
  text-align:right;
}

.tm-torque-note{
  margin:10px 0 0;
  font-size:.84rem;
  line-height:1.4;
}

.tm-repair-intel-panel--wide{
  grid-column:1 / -1;
}

.tm-access-action-list,
.tm-trigger-list,
.tm-priority-chip-list{
  display:grid;
  gap:8px;
}

.tm-access-action-card,
.tm-trigger-card,
.tm-priority-chip{
  display:grid;
  gap:4px;
  min-width:0;
  padding:9px 10px;
  border:1px solid rgba(15, 23, 42, .09);
  border-radius:11px;
  background:#ffffff;
  box-shadow:0 4px 12px rgba(15, 23, 42, .035);
}

.tm-access-action-card strong,
.tm-trigger-card strong,
.tm-priority-chip strong{
  color:var(--tm-text);
  font-size:.84rem;
  font-weight:950;
  line-height:1.2;
}

.tm-access-action-card span,
.tm-trigger-card span,
.tm-priority-chip span{
  color:var(--tm-text-muted);
  font-size:.78rem;
  font-weight:700;
  line-height:1.35;
}

.tm-priority-chip{
  grid-template-columns:auto minmax(0, 1fr);
  align-items:center;
  gap:8px;
}

.tm-priority-chip strong{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:26px;
  padding:5px 8px;
  border-radius:999px;
  border:1px solid rgba(15, 23, 42, .10);
  background:#f8fafc;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.tm-priority-chip--high-risk strong{
  border-color:rgba(220, 38, 38, .20);
  background:#fef2f2;
  color:#991b1b;
}

.tm-priority-chip--repair-soon strong{
  border-color:rgba(217, 119, 6, .22);
  background:#fffbeb;
  color:#92400e;
}

.tm-priority-chip--monitor strong{
  border-color:rgba(37, 99, 235, .18);
  background:#eff6ff;
  color:#1d4ed8;
}

.tm-priority-chip--verify-first strong{
  border-color:rgba(17, 179, 173, .22);
  background:#f0fdfa;
  color:#0f766e;
}

.tm-workflow-next-step{
  margin:12px 0 0;
}

.tm-subsection-title{
  margin:14px 0 0;
  color:var(--tm-text);
  font-size:1rem;
  line-height:1.25;
}

.tm-priority-list{
  display:grid;
  gap:8px;
  margin:12px 0 0;
  padding:0;
  list-style:none;
}

.tm-priority-list li{
  position:relative;
  padding-left:18px;
  color:var(--tm-text);
  font-weight:750;
  line-height:1.45;
}

.tm-priority-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.65em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:#14b8a6;
  transform:translateY(-50%);
}

.tm-confidence-cues{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.tm-confidence-cues span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(15, 23, 42, .10);
  background:#f8fafc;
  color:var(--tm-text-muted);
  font-size:.82rem;
  font-weight:800;
  line-height:1.2;
}

.tm-confidence-cues--compact span{
  min-height:28px;
  font-size:.78rem;
}

.tm-blueprint-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.tm-blueprint-chip{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(15, 23, 42, .10);
  background:#ffffff;
  color:var(--tm-text);
  font-size:.86rem;
  font-weight:750;
  line-height:1.2;
}

.tm-related-repair-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
  gap:12px;
  margin-top:14px;
}

.tm-diagnostic-path-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
  gap:12px;
  margin-top:14px;
}

.tm-diagnostic-path-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.tm-diagnostic-path-links a,
.tm-diagnostic-path-links span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(17, 179, 173, .22);
  background:#f0fdfa;
  color:#0f766e;
  font-size:.84rem;
  font-weight:800;
  text-decoration:none;
  line-height:1.2;
}

.tm-difficulty-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(17, 179, 173, .24);
  background:#eefbf9;
  color:#0f766e;
  font-size:.78rem;
  font-weight:800;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.tm-guide-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  border-color: rgba(22, 163, 184, 0.28);
}

.tm-guide-card h3 {
  margin: 0;
  font-size: 1.05rem;
}

.tm-guide-card p {
  margin: 0;
}

.tm-guide-card .tm-difficulty-badge{
  margin-bottom:10px;
}

@media (max-width: 520px){
  .tm-blueprint-workflow .tm-blueprint-hero-card,
  .tm-blueprint-priority-grid{
    grid-template-columns:1fr;
  }

  .tm-blueprint-workflow .tm-blueprint-hero-card{
    gap:14px;
    padding:16px;
  }

  .tm-blueprint-summary{
    padding:9px 10px;
    font-size:.92rem;
  }

  .tm-blueprint-hero-metrics,
  .tm-blueprint-stat-grid{
    grid-template-columns:1fr;
    gap:8px;
  }

  .tm-blueprint-section-head{
    display:grid;
    gap:6px;
    margin-bottom:10px;
    padding-bottom:8px;
  }

  .tm-blueprint-section-head h2{
    font-size:1.08rem;
  }

  .tm-blueprint-section-head p{
    max-width:none;
    font-size:.8rem;
    text-align:left;
  }

  .tm-blueprint-workflow-grid,
  .tm-blueprint-intel-strip,
  .tm-blueprint-context-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .tm-blueprint-step-card{
    grid-template-columns:34px minmax(0, 1fr);
    padding:12px;
  }

  .tm-blueprint-intel-card,
  .tm-blueprint-context-grid article{
    padding:12px;
  }

  .tm-blueprint-vehicle-details summary,
  .tm-blueprint-context-details summary{
    align-items:flex-start;
    padding:12px;
  }

  .tm-blueprint-vehicle-details summary strong,
  .tm-blueprint-context-details summary strong{
    display:none;
  }

  .tm-blueprint-action-panel{
    padding:12px;
  }

  .tm-blueprint-action-panel .tm-estimate-repair-cta{
    min-height:52px;
  }

  .tm-blueprint-mini-actions a,
  .tm-blueprint-chip{
    min-height:32px;
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .tm-workflow-chip-grid{
    grid-template-columns:1fr;
  }

  .tm-repair-intel-grid,
  .tm-tool-group-grid{
    grid-template-columns:1fr;
  }

  .tm-repair-intel-panel{
    padding:11px;
  }

  .tm-torque-spec-row{
    grid-template-columns:1fr;
    gap:4px;
  }

  .tm-torque-value{
    text-align:left;
  }

  .tm-repair-intel-panel--wide{
    grid-column:auto;
  }

  .tm-priority-chip{
    grid-template-columns:1fr;
  }

  .tm-relation-row,
  .tm-recommendation-row{
    grid-template-columns:1fr;
  }

  .tm-relation-row a,
  .tm-recommendation-row a,
  .tm-estimate-bundle-list a,
  .tm-estimate-bundle-list span{
    width:100%;
    justify-content:center;
  }

  .tm-blueprint-meta{
    align-items:stretch;
  }

  .tm-related-repair-grid{
    grid-template-columns:1fr;
  }

  .tm-diagnostic-path-grid{
    grid-template-columns:1fr;
  }

  .tm-workflow-context-note{
    align-items:flex-start;
  }

  .tm-workflow-context-note .tm-btn,
  .tm-workflow-return-link{
    width:100%;
    justify-content:center;
    margin-left:0;
  }

  .tm-estimate-repair-card{
    justify-items:stretch;
    padding-left:16px;
    padding-right:16px;
  }

  .tm-estimate-repair-card .tm-btn{
    width:100%;
    min-width:0;
  }
}

/* ===============================
   Foundation 12.5 Estimator Compression
================================ */

.tm-estimator-header{
  align-items:center;
  margin-top: 10px;
}

.tm-estimator-header h1{
  max-width: 760px;
  font-size: clamp(1.65rem, 3vw, 2.18rem);
  line-height: 1.03;
}

.tm-estimator-kicker{
  margin-bottom: 5px;
}

.tm-estimator-quickstart{
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(15,23,42,.05);
}

.tm-estimator-quickstart__title{
  margin-bottom: 6px;
  font-size: .82rem;
}

.tm-estimator-quickstart__steps{
  gap: 6px;
}

.tm-estimator-quickstart__steps span{
  min-height: 28px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(248,250,252,.86);
  box-shadow: none;
  font-size: .76rem;
}

.tm-estimator-lede{
  margin-top: 8px;
  font-size: .86rem;
}

.tm-repair-handoff-trust{
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 11px;
}

.tm-estimator-section{
  margin-top: 12px;
}

.tm-card.tm-estimator-section,
#draftsCard,
.pricing-controls,
.estimator-final-actions{
  border-radius: 14px;
}

.tm-card.tm-estimator-section{
  padding: 16px;
  box-shadow: 0 8px 20px rgba(15,23,42,.055);
}

.section-header--vehicles{
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(15,23,42,.08);
}

.tm-card[aria-label="Vehicles"]{
  border-color: rgba(20,184,166,.24);
  box-shadow: 0 10px 24px rgba(15,118,110,.08);
}

.tm-card[aria-label="Vehicles"] .tm-section-kicker{
  color: #0f766e;
}

.tm-card[aria-label="Vehicles"] h2{
  margin-bottom: 4px;
}

.tm-cta-helper,
.tm-service-workflow-copy,
.tm-field-helper{
  line-height: 1.32;
}

.vehicle-card{
  padding: 12px !important;
  margin-top: 10px !important;
  border-radius: 12px !important;
}

.vehicle-card h3{
  font-size: 1rem;
}

.vehicle-card .grid3{
  gap: 10px;
}

.vin-section{
  margin-top: 10px;
}

.vin-toggle{
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 10px;
}

.vin-panel{
  gap: 8px;
  padding-top: 8px;
}

.tm-estimate-total-bar{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
}

.tm-quote-note{
  margin-top: 8px;
  padding: 9px 11px;
  border-radius: 10px;
}

.tm-active-vehicle-banner{
  margin-bottom: 10px;
  padding: 9px 11px;
  border-radius: 10px;
}

.vehicle-header{
  gap: 10px;
  margin-bottom: 10px;
}

.tm-addServiceRow{
  padding: 8px 10px;
  border-radius: 11px;
}

.tm-addServiceRow .add-more-btn{
  min-height: 40px;
}

.tm-card[aria-label="Service"] .grid2{
  gap: 12px;
}

.tm-card[aria-label="Service"] label,
.pricing-controls label{
  margin-bottom: 4px;
  font-size: .78rem;
}

.tm-quick-quotes{
  margin: 10px 0 12px;
  padding: 0;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 12px;
  background: rgba(248,250,252,.72);
}

.tm-quick-quotes__summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 42px;
  padding: 0 12px;
  color: var(--tm-text);
  cursor: pointer;
  list-style: none;
}

.tm-quick-quotes__summary::-webkit-details-marker{
  display: none;
}

.tm-quick-quotes__chevron{
  color: var(--tm-text-muted);
  font-size: .92rem;
  transition: transform .16s ease;
}

.tm-quick-quotes[open] .tm-quick-quotes__chevron{
  transform: rotate(180deg);
}

.tm-quick-quotes__list{
  padding: 0 10px 10px;
  gap: 6px;
}

.tm-quick-quote{
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 999px;
  box-shadow: none;
}

.tm-estimator-workflow-shortcuts,
.tm-paired-suggestions,
.tm-completion-suggestions{
  margin-top: 10px;
  padding: 11px;
  border-radius: 12px;
}

.line-items{
  margin-top: 10px;
}

.pricing-controls{
  margin-top: 10px;
  padding: 12px;
  box-shadow: 0 7px 18px rgba(15,23,42,.045);
}

.pricing-controls__head{
  margin-bottom: 10px;
}

.pricing-controls__grid{
  gap: 10px;
}

.pricing-controls input:not([type="checkbox"]):not([type="radio"]),
.pricing-controls select{
  min-height: 42px;
  border-radius: 9px;
}

.pricing-controls .recalc-note,
.labor-help{
  margin-top: 7px;
}

.tm-estimate-action-panel{
  gap: 10px;
  margin-top: 10px;
  padding: 11px 12px;
  border-radius: 12px;
}

.tm-estimate-action-panel__label{
  margin-bottom: 2px;
  font-size: .7rem;
}

.tm-estimate-action-panel__text{
  font-size: .96rem;
}

.tm-estimate-action-panel__button{
  min-height: 46px;
  padding-inline: 16px;
}

#statusBox{
  min-height: 38px;
  padding: 9px 11px;
  border-radius: 11px;
}

#statusBox[data-kind="info"]{
  display: none;
}

.preview{
  margin-top: 10px;
  padding: 12px;
  border-radius: 12px;
}

.breakdown-panel{
  margin-top: 10px !important;
  padding: 10px !important;
  border-radius: 12px !important;
}

.tm-quote-notes-field{
  margin-top: 10px;
}

.tm-quote-notes-field textarea{
  min-height: 82px;
}

.section-divider{
  margin: 14px 0;
}

#draftsCard{
  padding: 13px;
  box-shadow: 0 6px 16px rgba(15,23,42,.045);
}

#draftsCard h2{
  margin-bottom: 4px;
  font-size: 1.2rem;
}

#draftsCard .tm-device-save-label{
  margin-bottom: 8px;
}

#draftRecoveryBlock{
  margin: 8px 0;
  padding: 9px 10px;
}

.tm-draft-controls{
  gap: 8px;
}

.tm-draft-actions{
  gap: 7px;
}

#draftsCard .tm-btn,
#draftsCard select{
  min-height: 40px;
}

#estimateSavedBlock{
  margin-top: 9px;
  padding: 10px;
}

.estimator-final-actions{
  gap: 7px;
  margin-top: 12px;
  padding: 13px;
  box-shadow: 0 10px 24px rgba(15,118,110,.09);
}

.estimator-final-step{
  padding: 4px 8px;
}

.estimator-final-heading{
  font-size: 1.14rem;
}

.estimator-final-hint{
  margin: -1px 0 1px;
}

.estimator-final-cta{
  min-height: 54px;
  padding: 13px 16px;
}

@media (max-width: 700px){
  .tm-estimator-header{
    gap: 6px;
    margin-top: 6px;
  }

  .tm-estimator-header h1{
    font-size: 1.62rem;
  }

  .tm-estimator-quickstart{
    margin-top: 7px;
    padding: 8px;
  }

  .tm-estimator-quickstart__steps{
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
  }

  .tm-estimator-quickstart__steps span{
    min-height: 28px;
    padding: 5px 4px;
    font-size: .7rem;
    text-align: center;
  }

  .tm-estimator-lede{
    margin-top: 7px;
  }

  .tm-card.tm-estimator-section{
    padding: 13px;
  }

  .section-header--vehicles,
  .vehicle-header{
    gap: 8px;
  }

  .tm-vehicle-cta-group,
  .tm-addServiceRow{
    gap: 7px;
  }

  .tm-addServiceRow{
    margin: 8px 0 10px;
    padding: 8px;
  }

  .tm-addServiceRow .add-more-btn{
    min-height: 46px;
  }

  .vehicle-card .grid3{
    gap: 8px;
  }

  .tm-quote-note{
    padding: 8px 10px;
  }

  .tm-quick-quotes{
    margin: 8px 0 10px;
  }

  .tm-quick-quotes__summary{
    min-height: 40px;
    padding: 0 10px;
  }

  .tm-quick-quotes__list{
    gap: 6px;
    padding: 0 8px 8px;
  }

  .tm-quick-quote{
    flex: 1 1 calc(50% - 6px);
    min-height: 38px;
    padding: 8px 9px;
  }

  .pricing-controls{
    padding: 10px;
  }

  .pricing-controls__grid{
    gap: 8px;
  }

  .tm-estimate-action-panel{
    padding: 10px;
  }

  .tm-estimate-action-panel__button{
    min-height: 50px;
  }

  #draftsCard{
    padding: 12px;
  }

  .tm-draft-controls{
    gap: 7px;
  }

  #draftsCard .tm-btn,
  #draftsCard select{
    min-height: 44px;
  }

  .estimator-final-actions{
    padding: 12px;
  }

  .estimator-final-cta{
    min-height: 54px;
  }
}

/* Repair Cost Hub Grid */

.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.card-grid .tm-card {
  display: block;
  padding: 18px 20px;
  border-radius: 14px;
  background: #ffffff;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.card-grid .tm-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.12);
}

.card-grid .tm-card h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1b2733;
}

/* OBD index collapsible */

.tm-collapse-toggle{
  width:100%;
  background:none;
  border:0;
  padding:0;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  text-align:left;
  cursor:pointer;
}

@media (max-width:768px){

  .tm-collapsible .tm-collapse-content{
    display:none;
  }

  .tm-collapsible.active .tm-collapse-content{
    display:grid;
  }

}

.tm-collapse-toggle{
  width:100%;
  background:none;
  border:0;
  padding:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  text-align:left;
  cursor:pointer;
  color:inherit;
}

.tm-collapse-toggle__chevron{
  font-size:1rem;
  font-weight:800;
  line-height:1;
  transition:transform .18s ease;
}

.tm-collapsible.active .tm-collapse-toggle__chevron{
  transform:rotate(90deg);
}

@media (max-width:768px){
  .tm-collapsible .tm-collapse-content{
    display:none;
  }

  .tm-collapsible.active .tm-collapse-content{
    display:block;
  }
}


/* Repair Difficulty */

.tm-difficulty-easy {
  font-size: 1.9rem;
  font-weight: 900;
  color: #22c55e !important;
  margin: 0 0 8px;
}

.tm-difficulty-moderate {
  font-size: 1.9rem;
  font-weight: 900;
  color: #f59e0b !important;
  margin: 0 0 8px;
}

.tm-difficulty-advanced {
  font-size: 1.9rem;
  font-weight: 900;
  color: #ef4444 !important;
  margin: 0 0 8px;
}

.tm-stats {
  margin-top: 28px;
  padding-top: 10px;
  border-top: 1px solid var(--tm-border);
}

.obd-repair-row__head {
  display: block;
  margin-bottom: 6px;
}

.obd-repair-row__title {
  margin: 0;
  color: var(--tm-text);
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
}

.obd-repair-row__desc {
  margin: 0 0 10px 0;
  color: var(--tm-text-muted);
  font-size: 0.93rem;
  line-height: 1.5;
  text-align: left;
}

.obd-repair-row__actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}

.obd-repair-row__cta {
  white-space: nowrap;
}

@media (max-width: 640px) {
  .obd-repair-row__actions {
    width: 100%;
  }
}
.tm-section .tm-card + .tm-card {
    margin-top: 1rem;
}

/* Foundation 10.4: compact repair intelligence scan layer */
.tm-intel-page .tm-section{
  padding: 12px 0;
}

.tm-intel-page .tm-card,
.tm-intel-page .tm-linked-card{
  padding: 17px;
  border-radius: 15px;
  border-color: rgba(15, 23, 42, .09);
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,250,252,.92) 100%);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .055);
}

.tm-intel-page .tm-page-title{
  max-width: 780px;
  margin-bottom: 10px;
  font-size: clamp(2.35rem, 4.2vw, 3.75rem);
  font-weight: 950;
  letter-spacing: -.045em;
}

.tm-intel-page h2{
  margin-bottom: 8px;
  font-size: clamp(1.18rem, 1.8vw, 1.48rem);
  font-weight: 950;
  letter-spacing: -.015em;
}

.tm-intel-page .tm-card > h2{
  display:flex;
  align-items:center;
  gap:9px;
}

.tm-intel-page .tm-card > h2::before{
  content:"";
  width:8px;
  height:24px;
  flex:0 0 auto;
  border-radius:999px;
  background:linear-gradient(180deg, #14b8a6 0%, #2563eb 100%);
}

.tm-intel-page h3{
  margin-bottom: 6px;
  font-size: 1rem;
  font-weight: 950;
  letter-spacing: 0;
}

.tm-intel-page p{
  margin-top: 0;
  line-height: 1.5;
}

.tm-intel-page .tm-card > p.tm-muted:last-child,
.tm-intel-page .tm-linked-card > p.tm-muted:last-child{
  margin-bottom: 0;
}

.tm-intel-page .tm-list{
  display:grid;
  gap:8px;
  margin: 8px 0 0;
  padding:0;
  line-height: 1.48;
  list-style:none;
}

.tm-intel-page .tm-list li + li{
  margin-top: 0;
}

.tm-intel-page .tm-list:not(.tm-list-numbered) li{
  position:relative;
  padding:9px 10px 9px 28px;
  border:1px solid rgba(15, 23, 42, .08);
  border-radius:11px;
  background:rgba(255, 255, 255, .70);
  color:var(--tm-text);
  font-weight:700;
}

.tm-intel-page .tm-list:not(.tm-list-numbered) li::before{
  content:"";
  position:absolute;
  left:12px;
  top:1.05em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:#14b8a6;
}

.tm-intel-page .tm-list-numbered{
  counter-reset:repair-step;
}

.tm-intel-page .tm-list-numbered > li{
  counter-increment:repair-step;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:10px;
  padding:12px;
  border:1px solid rgba(15, 23, 42, .08);
  border-radius:13px;
  background:rgba(255, 255, 255, .74);
  color:var(--tm-text);
  box-shadow:0 6px 16px rgba(15, 23, 42, .04);
}

.tm-intel-page .tm-list-numbered > li::before{
  content:counter(repair-step);
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:#0f766e;
  color:#ffffff;
  font-size:.78rem;
  font-weight:950;
  line-height:1;
}

.tm-intel-page .tm-list-numbered .tm-repair-stepText{
  min-width:0;
}

.tm-intel-page .tm-list-numbered .tm-repair-stepVisual{
  grid-column:1 / -1;
  margin-top:4px;
}

.tm-intel-page .tm-related-repair-grid,
.tm-intel-page .tm-diagnostic-path-grid{
  gap: 10px;
  margin-top: 10px;
}

.tm-intel-page .tm-stack{
  display: grid;
  gap: 10px;
}

.tm-intel-page .tm-blueprint-chip-list,
.tm-intel-page .tm-confidence-cues,
.tm-intel-page .tm-diagnostic-path-links{
  gap: 7px;
  margin-top: 9px;
}

.tm-intel-page .tm-blueprint-chip,
.tm-intel-page .tm-confidence-cues span,
.tm-intel-page .tm-diagnostic-path-links a,
.tm-intel-page .tm-diagnostic-path-links span{
  min-height: 28px;
  padding: 6px 9px;
  font-size: .8rem;
  box-shadow:0 3px 10px rgba(15, 23, 42, .035);
}

.tm-intel-page .tm-priority-list{
  gap: 6px;
  margin-top: 8px;
}

.tm-intel-page .tm-priority-list li{
  line-height: 1.38;
}

.tm-intel-page .tm-subsection-title{
  margin-top: 12px;
  font-size: .95rem;
}

.tm-intel-page .tm-workflow-context-note,
.tm-intel-page .tm-vehicle-context-note{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 10px;
}

.tm-intel-page .tm-estimate-repair-card{
  gap: 8px;
}

.tm-intel-flow-strip{
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.tm-intel-flow-strip span{
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 9px;
  border: 1px solid rgba(15,118,110,.16);
  border-radius: 999px;
  background: rgba(240,253,250,.82);
  color: #0f766e;
  font-size: .8rem;
  font-weight: 900;
  line-height: 1.2;
}

.tm-intel-page .tm-section-note{
  margin: 0 0 10px 0;
  max-width: 72ch;
}

.tm-trust-helper{
  margin:0 0 9px;
  color:#334155;
  font-size:.84rem;
  font-weight:750;
  line-height:1.4;
}

.tm-intel-page .tm-stat{
  color:#0f766e;
  font-weight:950;
  letter-spacing:-.03em;
}

.tm-intel-page .vehicle-card{
  border-color:rgba(37, 99, 235, .14);
  background:linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(239,246,255,.56) 100%);
}

.tm-intel-page .tm-linked-card{
  display:grid;
  gap:8px;
}

.tm-intel-page .tm-linked-card h3{
  margin-bottom:0;
}

.tm-intel-page .tm-linked-card a{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:30px;
  padding:7px 10px;
  border:1px solid rgba(17, 179, 173, .20);
  border-radius:999px;
  background:#f0fdfa;
  color:#0f766e;
  font-size:.82rem;
  font-weight:900;
  line-height:1.15;
}

@media (max-width: 640px){
  .tm-repair-guide-search{
    margin-top:16px;
  }

  .tm-repair-guide-search input{
    min-height:52px;
    padding:12px 46px !important;
    font-size:.95rem;
  }

  .tm-workflow-entry-card{
    align-items:flex-start;
    gap:10px;
    padding:13px;
  }

  .tm-workflow-entry-card__action{
    white-space:normal;
    text-align:center;
  }

  .tm-repair-guide-empty{
    font-size:.92rem;
  }

  .tm-intel-page .tm-section{
    padding: 9px 0;
  }

  .tm-intel-page .tm-card,
  .tm-intel-page .tm-linked-card{
    padding: 13px;
    border-radius: 13px;
  }

  .tm-intel-page .tm-page-title{
    font-size: clamp(1.95rem, 8vw, 2.45rem);
    line-height: 1.05;
  }

  .tm-blueprint-workflow .tm-blueprint-hero-card{
    padding:14px;
  }

  .tm-blueprint-summary{
    padding:10px 11px;
    font-size:.92rem;
  }

  .tm-trust-helper{
    margin-bottom:8px;
    font-size:.8rem;
  }

  .tm-intel-page .tm-related-repair-grid,
  .tm-intel-page .tm-diagnostic-path-grid{
    gap: 8px;
  }

  .tm-intel-page .tm-list:not(.tm-list-numbered) li{
    padding:8px 9px 8px 25px;
    font-size:.94rem;
  }

  .tm-intel-page .tm-list-numbered > li{
    grid-template-columns:1fr;
    gap:8px;
    padding:10px;
  }

  .tm-intel-page .tm-btn{
    min-height: 42px;
  }
}

/* Foundation 13.1: estimator workflow clarity */
body:not(.tm-shared-quote) .tm-card.tm-estimator-section{
  border-color: rgba(15, 23, 42, .11);
  box-shadow: 0 8px 22px rgba(15, 23, 42, .055);
}

.tm-card.tm-estimator-section .tm-btn-primary,
.tm-estimate-action-panel__button,
.estimator-final-cta{
  min-height: 48px;
  border: 1px solid rgba(15, 118, 110, .20);
  border-radius: 12px;
  background: linear-gradient(180deg, #16c8b8 0%, #0f9f98 100%);
  color: #fff;
  box-shadow: 0 12px 24px rgba(15, 118, 110, .22);
}

.tm-card.tm-estimator-section .tm-btn-primary:hover,
.tm-estimate-action-panel__button:hover,
.estimator-final-cta:hover{
  background: linear-gradient(180deg, #19d2c1 0%, #0d958f 100%);
  box-shadow: 0 14px 28px rgba(15, 118, 110, .26);
}

.tm-card.tm-estimator-section .tm-btn-secondary,
.tm-card.tm-estimator-section .tm-btn-ghost,
.tm-vin-lookup-btn,
#draftsCard .tm-btn-secondary,
.tm-saved-quote-actions .tm-btn-secondary,
.tm-confirm-secondary-actions .tm-btn-secondary{
  border-color: rgba(15, 23, 42, .15);
  background: #fff;
  color: #334155;
  box-shadow: none;
}

.tm-card.tm-estimator-section .tm-btn-secondary:hover,
.tm-card.tm-estimator-section .tm-btn-ghost:hover,
.tm-vin-lookup-btn:hover,
#draftsCard .tm-btn-secondary:hover,
.tm-saved-quote-actions .tm-btn-secondary:hover,
.tm-confirm-secondary-actions .tm-btn-secondary:hover{
  border-color: rgba(15, 118, 110, .24);
  background: #f8fafc;
  color: #0f172a;
}

.tm-card.tm-estimator-section .tm-btn-danger,
#draftsCard .tm-btn-danger{
  border-color: rgba(185, 28, 28, .22);
  background: #fff;
  color: #b91c1c;
  box-shadow: none;
}

.tm-card.tm-estimator-section .tm-btn-danger:hover,
#draftsCard .tm-btn-danger:hover{
  background: #fef2f2;
}

.tm-card.tm-estimator-section .tm-btn:focus-visible,
.vin-toggle:focus-visible,
.tm-quick-quotes__summary:focus-visible,
.tm-quick-quote:focus-visible,
.tm-input-clear-btn:focus-visible{
  outline: 3px solid rgba(37, 99, 235, .28);
  outline-offset: 2px;
}

.tm-card.tm-estimator-section .tm-btn:disabled,
.tm-card.tm-estimator-section button:disabled,
.tm-estimate-action-panel__button:disabled,
#draftsCard .tm-btn:disabled{
  border-color: rgba(148, 163, 184, .28);
  background: #e5e7eb;
  color: #64748b;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1;
  transform: none;
}

.vehicle-card{
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

.vehicle-card h3{
  color: #0f172a;
  font-size: 1rem;
  font-weight: 900;
}

.tm-inline-clear-field,
.pricing-control,
.tm-quote-notes-field{
  min-width: 0;
}

.vehicle-card input:not([type="checkbox"]):not([type="radio"]),
.vehicle-card select,
.tm-card[aria-label="Service"] input:not([type="checkbox"]):not([type="radio"]),
.tm-card[aria-label="Service"] select,
.tm-card[aria-label="Service"] textarea,
#draftsCard select{
  min-height: 46px;
  border: 1px solid rgba(15, 23, 42, .18);
  border-radius: 10px;
  background: #fff;
  color: #0f172a;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .04);
}

.vehicle-card input:hover,
.vehicle-card select:hover,
.tm-card[aria-label="Service"] input:not([type="checkbox"]):not([type="radio"]):hover,
.tm-card[aria-label="Service"] select:hover,
.tm-card[aria-label="Service"] textarea:hover,
#draftsCard select:hover{
  border-color: rgba(15, 118, 110, .30);
}

.vehicle-card input:focus,
.vehicle-card select:focus,
.tm-card[aria-label="Service"] input:not([type="checkbox"]):not([type="radio"]):focus,
.tm-card[aria-label="Service"] select:focus,
.tm-card[aria-label="Service"] textarea:focus,
#draftsCard select:focus{
  border-color: rgba(15, 118, 110, .55);
  box-shadow: 0 0 0 3px rgba(20, 184, 166, .14), inset 0 1px 2px rgba(15, 23, 42, .04);
}

.tm-estimate-total-bar,
.tm-quote-note,
.preview{
  border: 1px solid rgba(15, 23, 42, .10);
  background: #f8fafc;
  box-shadow: none;
}

.tm-estimate-total-bar__label,
.tm-quote-note > div:first-child,
.preview-label{
  color: #64748b;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.tm-estimate-total-bar__value{
  color: #0f172a;
}

.vin-section{
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 12px;
  background: #f8fafc;
}

.vin-toggle{
  width: 100%;
  justify-content: space-between;
  border: 0;
  background: transparent;
  color: #334155;
  box-shadow: none;
}

.vin-toggle:hover{
  background: rgba(15, 23, 42, .035);
}

.tm-quick-quotes{
  border: 1px solid rgba(37, 99, 235, .18);
  border-radius: 13px;
  background: #f8fbff;
  box-shadow: none;
}

.tm-quick-quotes__summary{
  min-height: 44px;
  border-radius: 12px;
  color: #0f172a;
}

.tm-quick-quotes__summary:hover{
  background: rgba(37, 99, 235, .055);
}

.tm-quick-quotes__eyebrow{
  color: #1e3a8a;
  font-size: .86rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
}

.tm-quick-quotes__chevron{
  color: #1e40af;
  font-size: .9rem;
}

.tm-quick-quotes__list{
  border-top: 1px solid rgba(37, 99, 235, .12);
  padding-top: 9px;
}

.tm-quick-quote{
  border-color: rgba(37, 99, 235, .18);
  background: #fff;
  color: #1e3a8a;
}

.tm-quick-quote:hover,
.tm-quick-quote.is-selected{
  border-color: rgba(15, 118, 110, .38);
  background: #ecfdf5;
  color: #0f766e;
}

.pricing-controls{
  border: 1px solid rgba(15, 23, 42, .12);
  border-left: 4px solid rgba(15, 118, 110, .56);
  background: #fff;
  box-shadow: none;
}

.pricing-controls__title{
  font-size: .96rem;
  letter-spacing: 0;
}

.pricing-controls__hint,
.labor-help .tm-hint,
.tm-field-helper,
.tm-device-save-label,
.tm-quote-trust-microcopy{
  color: #64748b;
  font-weight: 650;
}

.tm-estimate-action-panel{
  border: 1px solid rgba(37, 99, 235, .16);
  border-left: 4px solid #2563eb;
  background: #f8fafc;
  box-shadow: none;
}

.tm-estimate-action-panel.is-ready-to-add{
  border-color: rgba(15, 118, 110, .34);
  border-left-color: #0f9f98;
  background: #f0fdfa;
  box-shadow: 0 10px 22px rgba(15, 118, 110, .08);
}

.tm-estimate-action-panel.is-quote-next{
  border-color: rgba(15, 23, 42, .12);
  border-left-color: #64748b;
  background: #f8fafc;
  box-shadow: none;
}

.tm-estimate-action-panel__label{
  color: #2563eb;
}

.tm-estimate-action-panel__text{
  color: #0f172a;
  font-weight: 800;
}

#statusBox{
  border: 1px solid rgba(15, 23, 42, .10);
  background: #f8fafc;
  color: #475569;
  box-shadow: none;
}

#draftsCard{
  border-color: rgba(15, 23, 42, .10);
  background: #fff;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .04);
}

#draftsCard .tm-section-kicker,
.estimator-final-step{
  color: #64748b;
  border-color: rgba(15, 23, 42, .12);
  background: #f8fafc;
}

#draftRecoveryBlock,
#estimateSavedBlock{
  border: 1px solid rgba(15, 23, 42, .10);
  background: #f8fafc;
  box-shadow: none;
}

.tm-draft-actions{
  display: flex;
  gap: 8px;
}

.estimator-final-actions{
  border: 1px solid rgba(15, 118, 110, .22);
  border-left: 4px solid #0f9f98;
  background: #f0fdfa;
}

@media (max-width: 700px){
  .tm-card.tm-estimator-section .tm-btn-primary,
  .tm-estimate-action-panel__button,
  .estimator-final-cta{
    min-height: 50px;
  }

  .tm-estimate-action-panel{
    grid-template-columns: 1fr;
  }

  .tm-estimate-action-panel__button{
    width: 100%;
  }

  .tm-vehicle-cta-group{
    width: 100%;
  }

  .tm-vehicle-cta-group .tm-btn{
    flex: 1 1 0;
  }

  .tm-draft-actions{
    width: 100%;
  }

  .tm-draft-actions .tm-btn{
    flex: 1 1 0;
  }
}

/* Foundation 13.1A: mobile Price Job stack and inline labor range */
.pricing-control__label-row{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.pricing-control__label-row .labor-range{
  min-height: 0;
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 480px){
  .pricing-controls__grid{
    grid-template-columns: 1fr;
  }

  .pricing-control,
  .pricing-control--mode,
  .hourly-pricing-field,
  #flatRateWrap{
    grid-column: 1 / -1;
  }
}

#estimatorWorkflowShortcuts {
  display: none !important;
}

.selected-service-context {
  display: none !important;
}

/* Module 7B.0: estimator welcome intro */
.tm-intro-active {
  overflow: hidden;
}

.tm-intro-root[hidden] {
  display: none !important;
}

.tm-intro-root {
  position: fixed;
  inset: 0;
  z-index: 9100;
}

.tm-intro-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 24%, rgba(14, 165, 233, 0.2), transparent 38%),
    rgba(2, 6, 23, 0.78);
}

.tm-intro-modal {
  position: relative;
  box-sizing: border-box;
  width: min(720px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  margin: 16px auto;
  top: 50%;
  transform: translateY(-50%);
  overflow: auto;
  border: 1px solid rgba(125, 211, 252, 0.28);
  border-radius: 12px;
  background:
    linear-gradient(145deg, rgba(15, 23, 42, 0.98), rgba(3, 7, 18, 0.98)),
    #0f172a;
  color: #fff;
  padding: 26px;
  box-shadow:
    0 28px 80px rgba(2, 6, 23, 0.62),
    0 0 42px rgba(14, 165, 233, 0.16);
}

.tm-intro-kicker {
  color: #67e8f9;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tm-intro-modal h2 {
  margin: 8px 0 0;
  color: #fff;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.08;
}

.tm-intro-subtitle {
  margin: 8px 0 0;
  color: #e0f2fe;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.35;
}

.tm-intro-body {
  margin: 12px 0 0;
  color: #cbd5e1;
  font-size: 0.98rem;
  line-height: 1.55;
}

.tm-intro-preview {
  position: relative;
  display: grid;
  min-height: 0;
  margin-top: 22px;
  overflow: hidden;
  border: 1px solid rgba(34, 211, 238, 0.24);
  border-radius: 14px;
  background:
    radial-gradient(circle at 18% 18%, rgba(34, 211, 238, 0.16), transparent 32%),
    linear-gradient(145deg, rgba(8, 47, 73, 0.68), rgba(2, 6, 23, 0.92));
  padding: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.tm-intro-preview-card {
  position: relative;
  display: grid;
  align-content: start;
  gap: 12px;
  opacity: 1;
  transform: none;
  animation: none;
}

.tm-intro-preview-label {
  justify-self: start;
  border: 1px solid rgba(34, 211, 238, 0.34);
  border-radius: 999px;
  background: rgba(6, 182, 212, 0.14);
  color: #67e8f9;
  font-size: 0.75rem;
  font-weight: 900;
  padding: 5px 9px;
}

.tm-intro-mini-app,
.tm-intro-mini-quote,
.tm-intro-mini-pdf {
  border: 1px solid rgba(226, 232, 240, 0.16);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.86);
  color: #f8fafc;
  padding: 14px;
  box-shadow:
    0 18px 44px rgba(2, 6, 23, 0.34),
    0 0 24px rgba(34, 211, 238, 0.12);
}

.tm-intro-mini-top,
.tm-intro-mini-row,
.tm-intro-mini-total,
.tm-intro-pdf-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.tm-intro-mini-row,
.tm-intro-pdf-line {
  border-top: 1px solid rgba(226, 232, 240, 0.09);
  padding-top: 9px;
  margin-top: 9px;
}

.tm-intro-mini-top span,
.tm-intro-mini-row span,
.tm-intro-mini-grid span,
.tm-intro-mini-total span,
.tm-intro-pdf-line span {
  color: #94a3b8;
  font-size: 0.78rem;
  font-weight: 800;
}

.tm-intro-mini-top strong,
.tm-intro-mini-row strong,
.tm-intro-mini-grid strong,
.tm-intro-mini-total strong,
.tm-intro-pdf-line strong {
  color: #fff;
  font-size: 0.88rem;
  text-align: right;
}

.tm-intro-mini-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}

.tm-intro-mini-grid div {
  display: grid;
  gap: 4px;
  border: 1px solid rgba(226, 232, 240, 0.1);
  border-radius: 10px;
  padding: 9px;
}

.tm-intro-mini-total {
  margin-top: 12px;
  border-radius: 10px;
  background: rgba(34, 211, 238, 0.12);
  padding: 11px;
}

.tm-intro-mini-total strong,
.tm-intro-mini-top strong {
  color: #67e8f9;
  font-size: 1rem;
}

.tm-intro-mini-title {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 900;
}

.tm-intro-mini-summary {
  margin-top: 8px;
  border-radius: 10px;
  background: rgba(248, 250, 252, 0.08);
  color: #e2e8f0;
  font-size: 0.86rem;
  font-weight: 900;
  padding: 10px;
}

.tm-intro-mini-status,
.tm-intro-mini-cta {
  margin-top: 11px;
  border-radius: 10px;
  font-size: 0.84rem;
  font-weight: 900;
  padding: 10px;
}

.tm-intro-mini-status {
  background: rgba(34, 197, 94, 0.12);
  color: #bbf7d0;
}

.tm-intro-mini-cta {
  background: #22d3ee;
  color: #06202f;
  text-align: center;
}

.tm-intro-mini-pdf {
  background: #f8fafc;
  color: #0f172a;
}

.tm-intro-pdf-title {
  color: #0f172a;
  font-size: 1.02rem;
  font-weight: 900;
}

.tm-intro-pdf-line span,
.tm-intro-pdf-service {
  color: #475569;
}

.tm-intro-pdf-line strong {
  color: #0f172a;
}

.tm-intro-pdf-service {
  margin-top: 12px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 10px;
  font-size: 0.84rem;
  font-weight: 900;
}

.tm-intro-pdf-total {
  margin-top: 10px;
  color: #0e7490;
  font-size: 0.94rem;
  font-weight: 900;
}

.tm-intro-pdf-signature {
  margin-top: 18px;
  border-top: 1px solid #94a3b8;
  color: #64748b;
  font-size: 0.74rem;
  font-weight: 800;
  padding-top: 6px;
}

.tm-intro-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
}

.tm-intro-primary,
.tm-intro-button,
.tm-intro-link {
  min-height: 46px;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.tm-intro-primary {
  border: 1px solid rgba(34, 211, 238, 0.42);
  background: #06b6d4;
  color: #082f49;
  padding: 11px 16px;
  box-shadow: 0 12px 30px rgba(6, 182, 212, 0.22);
}

.tm-intro-button--secondary {
  border: 1px solid rgba(226, 232, 240, 0.16);
  background: rgba(255, 255, 255, 0.08);
  color: #e2e8f0;
  padding: 11px 16px;
}

.tm-intro-link {
  border: 0;
  background: transparent;
  color: #cbd5e1;
  padding: 9px 6px;
}

.tm-intro-screen[hidden],
.tm-intro-actions [hidden] {
  display: none !important;
}

.tm-intro-root[data-tm-intro-step="0"] [data-tm-intro-next],
.tm-intro-root[data-tm-intro-step="1"] [data-tm-intro-back],
.tm-intro-root[data-tm-intro-step="2"] [data-tm-intro-back] {
  order: 1;
}

.tm-intro-root[data-tm-intro-step="0"] [data-tm-intro-skip],
.tm-intro-root[data-tm-intro-step="1"] [data-tm-intro-next],
.tm-intro-root[data-tm-intro-step="2"] [data-tm-intro-build] {
  order: 2;
}

.tm-intro-root[data-tm-intro-step="2"] [data-tm-intro-skip] {
  order: 3;
}

@media (max-width: 520px) {
  .tm-intro-modal {
    width: min(100vw - 20px, 360px);
    max-height: calc(100dvh - 12px);
    margin: 6px auto;
    padding: 11px;
    border-radius: 10px;
  }

  .tm-intro-modal h2 {
    margin-top: 5px;
    font-size: 1.42rem;
  }

  .tm-intro-subtitle {
    margin-top: 5px;
    font-size: 0.9rem;
  }

  .tm-intro-body {
    margin-top: 7px;
    font-size: 0.82rem;
    line-height: 1.34;
  }

  .tm-intro-preview {
    min-height: 0;
    margin-top: 8px;
    padding: 7px;
  }

  .tm-intro-preview-card {
    gap: 5px;
  }

  .tm-intro-preview-label {
    font-size: 0.68rem;
    padding: 4px 8px;
  }

  .tm-intro-mini-app,
  .tm-intro-mini-quote,
  .tm-intro-mini-pdf {
    padding: 7px;
  }

  .tm-intro-mini-row,
  .tm-intro-pdf-line {
    gap: 8px;
    padding-top: 5px;
    margin-top: 5px;
  }

  .tm-intro-mini-grid {
    gap: 6px;
    margin-top: 6px;
  }

  .tm-intro-mini-grid div,
  .tm-intro-mini-total,
  .tm-intro-mini-summary,
  .tm-intro-mini-status,
  .tm-intro-mini-cta,
  .tm-intro-pdf-service {
    padding: 6px;
  }

  .tm-intro-mini-top strong,
  .tm-intro-mini-total strong {
    font-size: 0.86rem;
  }

  .tm-intro-mini-row strong,
  .tm-intro-mini-grid strong,
  .tm-intro-pdf-line strong {
    font-size: 0.72rem;
  }

  .tm-intro-mini-top span,
  .tm-intro-mini-row span,
  .tm-intro-mini-grid span,
  .tm-intro-mini-total span,
  .tm-intro-pdf-line span,
  .tm-intro-mini-summary,
  .tm-intro-mini-status,
  .tm-intro-mini-cta,
  .tm-intro-pdf-service,
  .tm-intro-pdf-signature {
    font-size: 0.68rem;
  }

  .tm-intro-mini-title,
  .tm-intro-pdf-title {
    font-size: 0.86rem;
  }

  .tm-intro-pdf-total {
    margin-top: 7px;
    font-size: 0.78rem;
  }

  .tm-intro-pdf-signature {
    margin-top: 7px;
  }

  .tm-intro-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    margin-top: 8px;
  }

  .tm-intro-primary,
  .tm-intro-button,
  .tm-intro-link {
    min-height: 42px;
  }

  .tm-intro-primary,
  .tm-intro-button,
  .tm-intro-link {
    width: 100%;
    text-align: center;
  }

}

/* Module 7B.1: guided onboarding tour */
.tm-tour-active {
  overflow-x: hidden;
}

.tm-intro-active .tm-tour-restart,
.tm-tour-active .tm-tour-restart {
  display: none !important;
}

.tm-tour-root[hidden] {
  display: none !important;
}

.tm-tour-overlay {
  position: fixed;
  inset: 0;
  z-index: 9000;
  background: rgba(2, 6, 23, 0.72);
  pointer-events: none;
}

.tm-tour-highlight {
  position: relative;
  z-index: 9010 !important;
  border-radius: 10px;
  outline: 2px solid rgba(34, 211, 238, 0.95);
  box-shadow:
    0 0 0 4px rgba(14, 165, 233, 0.2),
    0 0 26px rgba(34, 211, 238, 0.68) !important;
}

.tm-tour-card {
  position: fixed;
  z-index: 9020;
  box-sizing: border-box;
  width: min(390px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  border: 1px solid rgba(34, 211, 238, 0.46);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(8, 47, 73, 0.92), rgba(2, 6, 23, 0.98));
  color: #fff;
  padding: 18px;
  box-shadow:
    0 0 0 1px rgba(103, 232, 249, 0.1) inset,
    0 0 24px rgba(34, 211, 238, 0.28),
    0 24px 56px rgba(2, 6, 23, 0.52);
  overflow: visible;
}

.tm-tour-card::before,
.tm-tour-card::after,
.tm-helper-tip::after {
  content: "";
  position: absolute;
  left: var(--tm-tour-arrow-x, 50%);
  width: 0;
  height: 0;
  transform: translateX(-50%);
}

.tm-tour-card::before {
  filter: blur(7px);
  opacity: 0.7;
}

.tm-tour-card--below::after {
  top: -11px;
  border-right: 12px solid transparent;
  border-bottom: 12px solid #082f49;
  border-left: 12px solid transparent;
}

.tm-tour-card--below::before {
  top: -14px;
  border-right: 14px solid transparent;
  border-bottom: 14px solid rgba(34, 211, 238, 0.52);
  border-left: 14px solid transparent;
}

.tm-tour-card--above::after {
  bottom: -11px;
  border-top: 12px solid #020617;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
}

.tm-tour-card--above::before {
  bottom: -14px;
  border-top: 14px solid rgba(34, 211, 238, 0.52);
  border-right: 14px solid transparent;
  border-left: 14px solid transparent;
}

.tm-tour-card--sheet {
  border-radius: 16px 16px 12px 12px;
}

.tm-tour-card--sheet::before,
.tm-tour-card--sheet::after {
  display: none;
}

.tm-tour-progress {
  color: #67e8f9;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0;
  margin-bottom: 10px;
}

.tm-tour-card h2 {
  margin: 0;
  color: #fff;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.tm-tour-card p {
  margin: 10px 0 0;
  color: #e2e8f0;
  font-size: 0.94rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.tm-tour-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  min-width: 0;
}

.tm-tour-nav {
  display: flex;
  gap: 8px;
  min-width: 0;
}

.tm-tour-button,
.tm-tour-link,
.tm-tour-restart,
.tm-helper-tip button {
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.tm-tour-button {
  border: 1px solid rgba(34, 211, 238, 0.32);
  background: #22d3ee;
  color: #06202f;
  min-height: 42px;
  min-width: 76px;
  padding: 9px 13px;
}

.tm-tour-button--secondary {
  background: rgba(255, 255, 255, 0.08);
  color: #e2e8f0;
}

.tm-tour-button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.tm-tour-link {
  border: 1px solid rgba(226, 232, 240, 0.16);
  background: rgba(255, 255, 255, 0.04);
  color: #e2e8f0;
  min-height: 42px;
  min-width: 68px;
  padding: 8px 12px;
}

.tm-tour-restart {
  border: 1px solid rgba(14, 116, 144, 0.22);
  background: #fff;
  color: #0f766e;
  min-height: 38px;
  padding: 8px 11px;
}

.tm-helper-tip {
  position: fixed;
  z-index: 9030;
  box-sizing: border-box;
  width: min(286px, calc(100vw - 28px));
  border: 1px solid rgba(34, 211, 238, 0.42);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(8, 47, 73, 0.94), rgba(2, 6, 23, 0.98));
  color: #fff;
  padding: 12px;
  box-shadow:
    0 0 18px rgba(34, 211, 238, 0.2),
    0 16px 36px rgba(2, 6, 23, 0.34);
}

.tm-helper-tip::after {
  left: var(--tm-helper-arrow-x, 50%);
}

.tm-helper-tip--below::after {
  top: -9px;
  border-right: 9px solid transparent;
  border-bottom: 9px solid #082f49;
  border-left: 9px solid transparent;
}

.tm-helper-tip--above::after {
  bottom: -9px;
  border-top: 9px solid #020617;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
}

.tm-helper-tip p {
  margin: 0;
  color: #e2e8f0;
  font-size: 0.9rem;
  line-height: 1.35;
}

.tm-helper-tip button {
  border: 0;
  background: transparent;
  color: #67e8f9;
  margin-top: 8px;
  padding: 0;
}

.tm-date-input-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  width: 100%;
}

.tm-date-input-wrap input[type="date"] {
  flex: 1 1 auto;
  min-width: 0;
}

.tm-date-clear {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.16);
  border-radius: 8px;
  color: #475569;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 38px;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 900;
  height: 38px;
  justify-content: center;
}

.tm-date-clear:hover,
.tm-date-clear:focus-visible {
  border-color: rgba(14, 116, 144, 0.38);
  color: #0f766e;
}

@media (max-width: 520px) {
  .tm-tour-card {
    width: min(390px, calc(100vw - 24px));
    padding: 16px;
  }

  .tm-tour-actions {
    display: grid;
    grid-template-columns: minmax(68px, 0.78fr) minmax(0, 2fr);
    gap: 8px;
  }

  .tm-tour-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .tm-tour-button,
  .tm-tour-link {
    min-width: 0;
    padding-right: 8px;
    padding-left: 8px;
    width: 100%;
    text-align: center;
  }
}

/* =========================================================
   PRESERVED PRE-PHASE-1 LOCAL STYLES
   ========================================================= */

/* Quick-start connector compatibility from recovered local lines 936-957. */
.tm-estimator-quickstart__steps{
  align-items: center;
  gap: 22px;
}

.tm-estimator-quickstart__steps span{
  position: relative;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: default;
  pointer-events: none;
}

.tm-estimator-quickstart__steps span:not(:last-child)::after{
  display: none;
  content: none;
}

.tm-estimator-quickstart__steps b{
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-right: 7px;
  border-radius: 999px;
  background: rgba(255,116,23,.14);
  color: #c2410c;
  font-size: .72rem;
  font-weight: 900;
}

/* Homepage, header, Quick Find, and related July 16 local additions. */
/* ===============================
   Diagnostic Panel Bar
================================ */

.tm-panelBar{
  display:flex;
  align-items:center;
  gap:8px;

  margin-bottom:16px;
  padding-bottom:10px;

  border-bottom:1px solid rgba(15,23,42,.08);
}

.tm-panelDot{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}

.tm-panelDot.red{
  background:#ef4444;
}

.tm-panelDot.amber{
  background:#f59e0b;
}

.tm-panelDot.green{
  background:#22c55e;
}

.tm-panelLabel{
  margin-left:8px;

  font-size:12px;
  font-weight:800;

  letter-spacing:.08em;
  text-transform:uppercase;

  color:var(--tm-text-muted);
}

/* ===============================
   Foundation 10.5 Homepage Authority
================================ */

.tm-homeHero__inner::after{
  display: none;
}

.tm-homeHero__title,
.tm-homeSection__head h2,
.tm-homeToolCard h3,
.tm-homeSystemCard span{
  letter-spacing: 0;
}

.tm-homeHero__lead{
  max-width: 680px;
}

.tm-homeTools{
  counter-reset: tm-home-flow;
}

.tm-homeToolCard{
  min-height: 132px;
}

.tm-homeToolCard::after{
  content: "";
  position: absolute;
  top: 50%;
  right: -18px;
  width: 26px;
  height: 1px;
  background: rgba(37,99,235,.22);
  transform: translateY(-50%);
}

.tm-homeToolCard:nth-child(2)::after,
.tm-homeToolCard:nth-child(4)::after{
  display: none;
}

.tm-homeToolCard__icon{
  font-size: .82rem;
  letter-spacing: 0;
  color: #ffffff;
  background: linear-gradient(180deg, #0f172a 0%, #1e3a5f 100%);
}

.tm-homeSection__head--split{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.tm-homeSection__link{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 10px;
  background: rgba(255,255,255,.72);
  color: var(--tm-text);
  font-size: .92rem;
  font-weight: 800;
}

.tm-homeSystemGrid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.tm-homeSystemCard{
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 170px;
  padding: 16px;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f3f7fb 100%);
  box-shadow: 0 8px 18px rgba(15,23,42,.06);
  color: inherit;
}

.tm-homeSystemCard:hover{
  transform: translateY(-1px);
  border-color: rgba(37,99,235,.2);
  box-shadow: 0 12px 24px rgba(15,23,42,.09);
}

.tm-homeSystemCard span{
  color: var(--tm-text);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.15;
}

.tm-homeSystemCard p{
  margin: 0;
  color: var(--tm-text-muted);
  font-size: .94rem;
  line-height: 1.42;
}

.tm-homeSystemCard__chips{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: auto;
}

.tm-homeSystemCard__chips em{
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border: 1px solid rgba(15,23,42,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: var(--tm-text-muted);
  font-size: .82rem;
  font-style: normal;
  font-weight: 800;
}

html.dark .tm-homeSection__link,
body.dark .tm-homeSection__link,
[data-theme="dark"] .tm-homeSection__link,
html.dark .tm-homeSystemCard,
body.dark .tm-homeSystemCard,
[data-theme="dark"] .tm-homeSystemCard{
  background: linear-gradient(180deg, #122338 0%, #0e1b2d 100%);
  border-color: rgba(255,255,255,.09);
}

html.dark .tm-homeSystemCard__chips em,
body.dark .tm-homeSystemCard__chips em,
[data-theme="dark"] .tm-homeSystemCard__chips em{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.1);
}

@media (max-width: 980px){
  .tm-homeSystemGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tm-homeToolCard::after{
    display: none;
  }
}

@media (max-width: 640px){
  .tm-homeHero__actions .tm-btn{
    width: 100%;
    justify-content: center;
  }

  .tm-homeSection__head--split{
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .tm-homeSection__link{
    width: 100%;
    justify-content: center;
  }

  .tm-homeSystemGrid{
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .tm-homeSystemCard{
    min-height: 0;
    padding: 14px;
  }

  .tm-homeToolCard{
    min-height: 0;
  }
}

/* ===============================
   Foundation 10.5b Trust Polish
================================ */

.tm-homeTrustCues{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  max-width: 760px;
}

.tm-homeTrustCues span{
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(15,23,42,.11);
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  color: var(--tm-text);
  font-size: .84rem;
  font-weight: 800;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 3px 8px rgba(15,23,42,.04);
}

.tm-homeHero__note{
  max-width: 760px;
  line-height: 1.45;
}

html.dark .tm-homeTrustCues span,
body.dark .tm-homeTrustCues span,
[data-theme="dark"] .tm-homeTrustCues span{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.1);
}

#quick-find{
  scroll-margin-top: 82px;
}

.tm-homeTools--compact{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tm-homeTools--compact .tm-homeToolCard:nth-child(2)::after{
  display: block;
}

.tm-homeTools--compact .tm-homeToolCard:nth-child(3)::after{
  display: none;
}

.tm-homeSystemGrid--compact .tm-homeSystemCard{
  min-height: 150px;
}

@media (max-width: 640px){
  .tm-homeTrustCues{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-top: 12px;
  }

  .tm-homeTrustCues span{
    min-height: 26px;
    justify-content: center;
    padding: 0 8px;
    font-size: .76rem;
    text-align: center;
  }

  .tm-homeHero__note{
    font-size: .8rem;
    line-height: 1.36;
  }
}

@media (max-width: 980px){
  .tm-homeTools--compact{
    grid-template-columns: 1fr;
  }

  .tm-homeTools--compact .tm-homeToolCard::after{
    display: none;
  }
}

@media (max-width: 640px){
  .tm-homeHero__inner{
    padding-bottom: 14px;
  }

  .tm-homeHero__lead{
    font-size: .95rem;
    line-height: 1.42;
  }
}

/* ===============================
   Foundation 10.5a Discovery Polish
================================ */

.tm-homeSection__head--split{
  margin-bottom: 14px;
}

.tm-homeSection__link{
  box-shadow: 0 6px 14px rgba(15,23,42,.05);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.tm-homeSection__link:hover{
  transform: translateY(-1px);
  border-color: rgba(37,99,235,.22);
  box-shadow: 0 10px 20px rgba(15,23,42,.08);
}

.tm-homeSystemGrid{
  gap: 14px;
}

.tm-homeSystemCard{
  position: relative;
  gap: 8px;
  min-height: 164px;
  padding: 15px 15px 14px 17px;
  overflow: hidden;
  border-color: rgba(15,23,42,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(242,246,251,.98) 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.8) inset,
    0 9px 20px rgba(15,23,42,.07);
}

.tm-homeSystemCard::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #11b3ad 0%, #2563eb 100%);
}

.tm-homeSystemCard::after{
  content: "Open hub";
  position: static;
  align-self: flex-start;
  margin-top: 1px;
  color: rgba(15,23,42,.48);
  font-size: .78rem;
  font-weight: 900;
}

.tm-homeSystemCard:hover,
.tm-homeSystemCard:focus-visible{
  transform: translateY(-2px);
  border-color: rgba(37,99,235,.28);
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 16px 30px rgba(15,23,42,.11);
}

.tm-homeSystemCard small{
  display: inline-flex;
  width: fit-content;
  min-height: 22px;
  align-items: center;
  padding: 0 8px;
  border: 1px solid rgba(37,99,235,.14);
  border-radius: 999px;
  background: rgba(37,99,235,.07);
  color: var(--tm-blue);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.tm-homeSystemCard span{
  max-width: 15ch;
  font-size: 1.02rem;
}

.tm-homeSystemCard p{
  max-width: 28ch;
  font-size: .92rem;
}

.tm-homeSystemCard__chips{
  gap: 7px;
  padding-right: 0;
}

.tm-homeSystemCard__chips em{
  min-height: 27px;
  padding: 0 9px;
  border-color: rgba(15,23,42,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,253,.96));
  color: #26364c;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 2px 5px rgba(15,23,42,.06);
}

.tm-homeToolCard{
  border-color: rgba(15,23,42,.13);
}

.tm-homeToolCard__icon{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 4px 10px rgba(15,23,42,.18);
}

html.dark .tm-homeSystemCard,
body.dark .tm-homeSystemCard,
[data-theme="dark"] .tm-homeSystemCard{
  background: linear-gradient(180deg, #122338 0%, #0d1b2d 100%);
}

html.dark .tm-homeSystemCard small,
body.dark .tm-homeSystemCard small,
[data-theme="dark"] .tm-homeSystemCard small{
  background: rgba(37,99,235,.14);
  border-color: rgba(255,255,255,.12);
}

html.dark .tm-homeSystemCard::after,
body.dark .tm-homeSystemCard::after,
[data-theme="dark"] .tm-homeSystemCard::after{
  color: rgba(255,255,255,.42);
}

@media (max-width: 980px){
  .tm-homeSystemCard span,
  .tm-homeSystemCard p{
    max-width: none;
  }
}

@media (max-width: 640px){
  .tm-homeSection__head--split{
    margin-bottom: 12px;
  }

  .tm-homeSystemGrid{
    gap: 11px;
  }

  .tm-homeSystemCard{
    padding: 14px 14px 13px 16px;
  }

  .tm-homeSystemCard__chips em{
    min-height: 26px;
  }
}

/* ===============================
   Foundation 12.4 Homepage Polish
================================ */

.tm-homeHero{
  padding: 6px 0 0;
}

.tm-homeHero__inner{
  padding: 18px 20px 16px;
  border-radius: 16px;
  box-shadow: 0 9px 22px rgba(15,23,42,.075);
}

.tm-panelBar{
  margin-bottom: 13px;
  padding-bottom: 9px;
}

.tm-homeHero__eyebrow{
  margin-bottom: 10px;
}

.tm-homeHero__title{
  margin-bottom: 9px;
  line-height: .96;
}

.tm-homeHero__lead{
  max-width: 620px;
  line-height: 1.45;
}

.tm-homeHero__actions{
  gap: 9px;
  margin-top: 15px;
}

.tm-homeHero__actions .tm-btn{
  min-height: 42px;
  padding-inline: 16px;
}

.tm-homeHero__actions .tm-btn-primary{
  box-shadow: 0 12px 22px rgba(17,179,173,.24);
}

.tm-homeHero__actions .tm-btn-secondary{
  background: rgba(255,255,255,.82);
  border-color: rgba(15,23,42,.14);
  box-shadow: none;
}

.tm-homeHero__actions .tm-btn:focus-visible,
.tm-homeToolCard:focus-visible,
.tm-homeSystemCard:focus-visible,
.tm-homeKnowledgeItem:focus-visible,
.tm-homeSection__link:focus-visible{
  outline: 3px solid rgba(37,99,235,.22);
  outline-offset: 3px;
}

.tm-homeTrustCues{
  align-items: center;
  gap: 7px 14px;
  margin-top: 12px;
}

.tm-homeTrustCues span{
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--tm-text-muted);
  font-size: .86rem;
  font-weight: 850;
  line-height: 1.3;
}

html.dark .tm-homeTrustCues span,
body.dark .tm-homeTrustCues span,
[data-theme="dark"] .tm-homeTrustCues span{
  background: transparent;
  border: 0;
  color: var(--tm-text-muted);
}

#quick-find{
  scroll-margin-top: 78px;
}

#quick-find .tm-section{
  padding: 14px 0 8px;
}

#quick-find .tm-card{
  padding: 18px;
  border-radius: 16px;
  border-color: rgba(15,23,42,.13);
  box-shadow: 0 9px 22px rgba(15,23,42,.07);
}

#quick-find .tm-quick-find__title{
  margin-bottom: 6px;
}

#quick-find .tm-quick-find__copy{
  margin-bottom: 12px;
}

#quick-find .quick-find-input-wrap input{
  min-height: 50px;
  border-radius: 12px;
  border-color: rgba(15,23,42,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 5px 14px rgba(15,23,42,.045);
}

#quick-find .tm-quick-find__button{
  min-height: 50px;
  border-radius: 12px;
}

.tm-homeSection{
  padding: 18px 0 0;
}

.tm-homeSection__head{
  margin-bottom: 10px;
}

.tm-homeSection__head h2{
  margin-bottom: 5px;
}

.tm-homeTools{
  gap: 12px;
}

.tm-homeToolCard{
  min-height: 116px;
  padding: 14px 15px;
  border-radius: 14px;
  box-shadow: 0 7px 18px rgba(15,23,42,.06);
}

.tm-homeToolCard__icon{
  width: 40px;
  height: 40px;
  border-radius: 9px;
}

.tm-homeToolCard p{
  line-height: 1.38;
}

.tm-homeSystemGrid{
  gap: 11px;
}

.tm-homeSystemGrid--compact .tm-homeSystemCard{
  min-height: 112px;
  padding: 13px 13px 12px 15px;
  border-radius: 14px;
  gap: 7px;
  box-shadow: 0 7px 17px rgba(15,23,42,.06);
}

.tm-homeSystemCard p{
  line-height: 1.36;
}

.tm-homeSystemCard::after{
  margin-top: 0;
}

.tm-homeSystemCard__chips em{
  min-height: 24px;
  padding-inline: 8px;
  box-shadow: none;
}

.tm-homeFeatureCard{
  padding: 18px;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(15,23,42,.06);
}

.tm-homeFeatureCard__header{
  margin-bottom: 12px;
}

.tm-homeFeatureCard__header h2{
  margin-bottom: 7px;
}

.tm-homeKnowledgeList{
  gap: 8px;
}

.tm-homeKnowledgeItem{
  padding: 12px 13px;
  border-radius: 12px;
}

.tm-homeKnowledgeItem span{
  line-height: 1.36;
}

@media (max-width: 640px){
  .tm-homeHero{
    padding-top: 5px;
  }

  .tm-homeHero__inner{
    padding: 16px 16px 14px;
    border-radius: 15px;
  }

  .tm-panelBar{
    margin-bottom: 11px;
    padding-bottom: 8px;
  }

  .tm-homeHero__title{
    font-size: clamp(2rem, 9.5vw, 2.95rem);
  }

  .tm-homeHero__actions{
    gap: 8px;
    margin-top: 14px;
  }

  .tm-homeHero__actions .tm-btn{
    min-height: 44px;
    width: 100%;
  }

  .tm-homeTrustCues{
    display: flex;
    align-items: flex-start;
    gap: 6px 11px;
    margin-top: 11px;
  }

  .tm-homeTrustCues span{
    justify-content: flex-start;
    padding: 0;
    font-size: .78rem;
    text-align: left;
  }

  #quick-find .tm-section{
    padding: 12px 0 7px;
  }

  #quick-find .tm-card{
    padding: 16px;
    border-radius: 15px;
  }

  #quick-find .tm-quick-find__copy{
    margin-bottom: 10px;
  }

  .tm-homeSection{
    padding-top: 16px;
  }

  .tm-homeToolCard{
    min-height: 0;
    padding: 12px 13px;
    gap: 10px;
  }

  .tm-homeSystemGrid--compact .tm-homeSystemCard{
    min-height: 0;
    padding: 12px 12px 11px 14px;
  }

  .tm-homeFeatureCard{
    padding: 16px;
  }

  .tm-homeKnowledgeItem{
    padding: 11px 12px;
  }
}

/* Foundation 13.0: core-experience homepage focus */
.tm-homeSection--compactStart{
  padding-top: 12px;
}

.tm-homeSection--compactStart .tm-homeSection__head{
  margin-bottom: 8px;
}

.tm-homeShortcutRow{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tm-homeShortcut{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid rgba(15, 118, 110, .18);
  border-radius: 999px;
  background: rgba(240, 253, 250, .78);
  color: #0f766e;
  font-size: .9rem;
  font-weight: 900;
  line-height: 1.1;
  box-shadow: 0 4px 12px rgba(15, 23, 42, .045);
}

.tm-homeShortcut:hover,
.tm-homeShortcut:focus-visible{
  border-color: rgba(15, 118, 110, .36);
  background: #f0fdfa;
  color: #0b5f59;
}

@media (max-width: 640px){
  .tm-homeSection--compactStart{
    padding-top: 10px;
  }

  .tm-homeShortcutRow{
    gap: 7px;
  }

  .tm-homeShortcut{
    min-height: 36px;
    padding: 7px 11px;
    font-size: .84rem;
  }
}


/* =========================================================
   Foundation 14.0 - TorqueMech Dark / Orange Homepage Theme
   ========================================================= */
.tm-homeHero__inner,.tm-homeToolCard,.tm-homeFeatureCard,.tm-homeSystemCard{background:radial-gradient(circle at 88% 4%,rgba(249,115,22,.08),transparent 16rem),linear-gradient(180deg,rgba(17,24,39,.98),rgba(11,17,32,.98));border-color:rgba(255,255,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 38px rgba(0,0,0,.24);}
.tm-homeHero__inner::before,.tm-homeToolCard::before,.tm-homeFeatureCard::before,.tm-homeSystemCard::before{background:linear-gradient(180deg,#f97316,#fb923c);}
.tm-panelBar{border-bottom-color:rgba(255,255,255,.09);}
.tm-panelLabel,.tm-homeHero__lead,.tm-homeHero__guideNote,.tm-homeTrustCues span,.tm-homeSection__head p,.tm-homeToolCard p,.tm-homeFeatureCard__header p,.tm-homeKnowledgeItem span,.tm-homeSystemCard p,.tm-homeQuote__author{color:#cbd5e1;}
.tm-homeHero__title,.tm-homeSection__head h2,.tm-homeToolCard h3,.tm-homeFeatureCard__header h2,.tm-homeKnowledgeItem strong,.tm-homeSystemCard span,.tm-homeQuote__text{color:#f8fafc;}
.tm-homeHero__eyebrow,.tm-homeFeatureCard__eyebrow,.tm-homeSystemCard small{border:1px solid rgba(249,115,22,.28);background:rgba(249,115,22,.11);color:#fed7aa;}
.tm-homeHero__actions .tm-btn-primary,#quick-find .tm-quick-find__button{border-color:rgba(249,115,22,.62);background:#f97316;color:#111827;box-shadow:0 14px 28px rgba(249,115,22,.20);}
.tm-homeHero__actions .tm-btn-primary:hover,.tm-homeHero__actions .tm-btn-primary:focus-visible,#quick-find .tm-quick-find__button:hover,#quick-find .tm-quick-find__button:focus-visible{background:#fb923c;border-color:#fb923c;}
.tm-homeHero__actions .tm-btn-secondary{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#f8fafc;}
.tm-homeHero__actions .tm-btn-secondary:hover,.tm-homeHero__actions .tm-btn-secondary:focus-visible{border-color:rgba(249,115,22,.38);background:rgba(249,115,22,.09);color:#fed7aa;}
.tm-homeToolCard__icon{border-color:rgba(249,115,22,.24);background:linear-gradient(180deg,#1f2937,#0b1120);color:#fdba74;}
.tm-homeKnowledgeItem,.tm-homeSection__link{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:#f8fafc;}
.tm-homeKnowledgeItem:hover,.tm-homeSection__link:hover,.tm-homeToolCard:hover,.tm-homeSystemCard:hover{border-color:rgba(249,115,22,.30);}
.tm-homeSystemCard__chips em{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:#cbd5e1;}
.tm-homeSystemCard::after{color:rgba(255,255,255,.46);}
.tm-homeShortcut{border-color:rgba(249,115,22,.25);background:rgba(249,115,22,.08);color:#fed7aa;box-shadow:none;}
.tm-homeShortcut:hover,.tm-homeShortcut:focus-visible{border-color:rgba(249,115,22,.48);background:rgba(249,115,22,.15);color:#ffedd5;}
#quick-find .tm-card{border-color:rgba(255,255,255,.11);background:radial-gradient(circle at 86% 0%,rgba(249,115,22,.08),transparent 15rem),linear-gradient(180deg,rgba(17,24,39,.98),rgba(11,17,32,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 18px 38px rgba(0,0,0,.22);}
#quick-find .tm-quick-find__title{color:#f8fafc;}
#quick-find .tm-quick-find__copy,#quick-find .tm-quick-find__hint,#quick-find .tm-quick-find__empty{color:#cbd5e1;}
#quick-find .quick-find-input-wrap input{border-color:rgba(255,255,255,.14);background:rgba(15,23,42,.88);color:#f8fafc;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 18px rgba(0,0,0,.14);}
#quick-find .quick-find-input-wrap input::placeholder{color:#94a3b8;}

/* Scoped estimator, mobile estimator, modal/status, VIN, vehicle, draft/reload, field contrast, and Clear Quote restorations. */
/* =========================================================
   Estimator Route - TorqueMech Dark / Orange Theme
   Supersedes the old unscoped .tm-guided-estimator dark-theme block.
========================================================= */
body.tm-estimator-page{
  --tm-bg: #0b1120;
  --tm-surface: #111827;
  --tm-surface-2: #0f172a;
  --tm-text: #f8fafc;
  --tm-text-muted: #cbd5e1;
  --tm-border: rgba(255,255,255,.10);
  --tm-border-strong: rgba(255,255,255,.16);
  --tm-accent: #ff7417;
  --tm-accent-hover: #ff8a3d;
  --tm-est-field-bg: #e8edf2;
  --tm-est-field-text: #101827;
  --tm-est-field-placeholder: #64748b;
  --tm-est-field-border: rgba(15, 23, 42, .18);
  background:
    radial-gradient(circle at 76% 4%, rgba(255,116,23,.13), transparent 24rem),
    linear-gradient(180deg,#0b1120 0%,#101827 52%,#0b1120 100%);
  color: #f8fafc;
}

body.tm-estimator-page .tm-nav{
  background: rgba(11,17,32,.88);
  border-bottom: 1px solid rgba(255,255,255,.09);
  backdrop-filter: blur(12px);
}

body.tm-estimator-page .tm-brand__torque,
body.tm-estimator-page .tm-menuBtn,
body.tm-estimator-page .tm-menu__item,
body.tm-estimator-page .tm-menu__disclosure{
  color: #f8fafc;
}

body.tm-estimator-page .tm-brand__mech{
  color: #ff7417;
}

body.tm-estimator-page .tm-menu__item:hover,
body.tm-estimator-page .tm-menu__disclosure:hover,
body.tm-estimator-page .tm-menu__disclosure:focus-visible{
  color: #fed7aa;
}

body.tm-estimator-page .tm-menuBtn,
body.tm-estimator-page .tm-menu__panel{
  border-color: rgba(255,255,255,.11);
  background: #111827;
  box-shadow: 0 18px 38px rgba(0,0,0,.24);
}

body.tm-estimator-page .tm-menu__item:hover,
body.tm-estimator-page .tm-menu__disclosure:hover,
body.tm-estimator-page .tm-menu__disclosure:focus-visible{
  background: rgba(255,116,23,.09);
}

body.tm-estimator-page > .tm-container{
  padding-top: 24px;
  padding-bottom: 28px;
}

body.tm-estimator-page .tm-guided-estimator{
  width: 100%;
  max-width: var(--tm-container);
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #f8fafc;
  box-shadow: none;
}

body.tm-estimator-page .tm-guided-estimator h1,
body.tm-estimator-page .tm-guided-estimator h2,
body.tm-estimator-page .tm-guided-estimator h3,
body.tm-estimator-page .tm-guided-estimator strong,
body.tm-estimator-page .pricing-controls__title,
body.tm-estimator-page .line-items-title,
body.tm-estimator-page .tm-service-title,
body.tm-estimator-page .estimator-final-heading,
body.tm-estimator-page .tm-estimate-action-panel__text,
body.tm-estimator-page .preview-value,
body.tm-estimator-page .tm-inline-panel__title,
body.tm-estimator-page .tm-active-vehicle-banner strong,
body.tm-estimator-page .tm-quote-note > div:first-child{
  color: #f8fafc;
}

body.tm-estimator-page .tm-muted,
body.tm-estimator-page .tm-hint,
body.tm-estimator-page .tm-cta-helper,
body.tm-estimator-page .tm-service-workflow-copy,
body.tm-estimator-page .tm-field-helper,
body.tm-estimator-page .tm-device-save-label,
body.tm-estimator-page .tm-quote-trust-microcopy,
body.tm-estimator-page .pricing-controls__hint,
body.tm-estimator-page .line-items-hint,
body.tm-estimator-page .preview-sub,
body.tm-estimator-page .tm-local-status,
body.tm-estimator-page .tm-active-vehicle-banner div,
body.tm-estimator-page .tm-guided-estimator label,
body.tm-estimator-page .tm-guided-estimator p,
body.tm-estimator-page .tm-guided-estimator li{
  color: #cbd5e1;
}

body.tm-estimator-page .tm-estimator-header{
  align-items: center;
  margin: 0 0 14px;
  padding: 20px 0 8px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

body.tm-estimator-page .tm-estimator-header h1{
  margin: 0;
  color: #f8fafc;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: -.045em;
}

body.tm-estimator-page .tm-estimator-kicker,
body.tm-estimator-page .tm-section-kicker,
body.tm-estimator-page .tm-estimate-action-panel__label,
body.tm-estimator-page .tm-shared-quote-kicker,
body.tm-estimator-page .tm-estimator-workflow-shortcuts__eyebrow,
body.tm-estimator-page .tm-paired-suggestions__eyebrow,
body.tm-estimator-page .tm-completion-suggestions__eyebrow{
  color: #fdba74;
}

body.tm-estimator-page .tm-beta-badge{
  display: none !important;
}

body.tm-estimator-page .tm-card,
body.tm-estimator-page .tm-estimator-section,
body.tm-estimator-page .tm-estimator-quickstart,
body.tm-estimator-page .tm-shared-quote-card,
body.tm-estimator-page .pricing-controls,
body.tm-estimator-page .line-items,
body.tm-estimator-page .tm-estimate-action-panel,
body.tm-estimator-page .estimator-final-actions,
body.tm-estimator-page .breakdown-panel,
body.tm-estimator-page .modal-card{
  border: 1px solid rgba(148, 163, 184, .18);
  background:
    radial-gradient(circle at 88% 4%, rgba(255,116,23,.08), transparent 16rem),
    linear-gradient(180deg, rgba(17,24,39,.98), rgba(11,17,32,.98));
  color: #f8fafc;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 38px rgba(0,0,0,.24);
}

body.tm-estimator-page .vehicle-card{
  background: #08111f !important;
  border: 1px solid rgba(148, 163, 184, .18) !important;
  box-shadow: none !important;
}

body.tm-estimator-page .vehicle-card h3{
  color: #f8fafc;
}

body.tm-estimator-page .vehicle-card label{
  color: #cbd5e1;
}

body.tm-estimator-page .tm-card,
body.tm-estimator-page .tm-estimator-section,
body.tm-estimator-page .tm-shared-quote-card{
  border-radius: 16px;
  padding: 20px;
}

body.tm-estimator-page .tm-estimator-section{
  margin-top: 18px;
}

body.tm-estimator-page .tm-estimator-quickstart{
  margin-top: 12px;
  padding: 14px;
}

body.tm-estimator-page .tm-estimator-quickstart__title{
  color: #f8fafc;
}

body.tm-estimator-page .tm-estimator-quickstart__steps span,
body.tm-estimator-page .tm-quick-quote,
body.tm-estimator-page .tm-homeShortcut,
body.tm-estimator-page .tm-estimator-parts-source-link{
  border-color: rgba(255,116,23,.25);
  background: rgba(255,116,23,.08);
  color: #fed7aa;
  box-shadow: none;
}

body.tm-estimator-page .tm-estimator-quickstart__steps span{
  border: 0;
  background: transparent;
  color: #fed7aa;
  box-shadow: none;
  cursor: default;
  pointer-events: none;
}

body.tm-estimator-page .tm-estimator-quickstart__steps b{
  background: rgba(255,116,23,.18);
  color: #ffedd5;
}

body.tm-estimator-page .tm-estimator-quickstart__steps span:not(:last-child)::after{
  background: rgba(253,186,116,.36);
}

body.tm-estimator-page .tm-quick-quote:hover,
body.tm-estimator-page .tm-quick-quote:focus-visible,
body.tm-estimator-page .tm-quick-quote.is-selected{
  border-color: rgba(255,116,23,.48);
  background: rgba(255,116,23,.15);
  color: #ffedd5;
}

body.tm-estimator-page .tm-quote-note,
body.tm-estimator-page .tm-inline-panel,
body.tm-estimator-page .tm-active-vehicle-banner,
body.tm-estimator-page .vin-section,
body.tm-estimator-page .vin-panel,
body.tm-estimator-page .tm-quick-quotes,
body.tm-estimator-page .tm-estimator-workflow-shortcuts,
body.tm-estimator-page .tm-paired-suggestions,
body.tm-estimator-page .tm-completion-suggestions,
body.tm-estimator-page .tm-estimator-parts-sources,
body.tm-estimator-page .tm-estimator-parts-disclosure,
body.tm-estimator-page .tm-shared-snapshot-item,
body.tm-estimator-page .tm-shared-total-card,
body.tm-estimator-page .tm-service-card,
body.tm-estimator-page .tm-service-meta span,
body.tm-estimator-page .tm-cost-breakdown__row,
body.tm-estimator-page .tm-service-estimate,
body.tm-estimator-page .preview,
body.tm-estimator-page .tm-status-box,
body.tm-estimator-page .tm-final-help,
body.tm-estimator-page .tm-confirm-section,
body.tm-estimator-page .tm-confirm-options-grid .tm-confirm-check,
body.tm-estimator-page .tm-confirm-services-wrap,
body.tm-estimator-page .tm-confirm-note,
body.tm-estimator-page .tm-signature-panel,
body.tm-estimator-page .tm-approval-status,
body.tm-estimator-page .tm-repair-handoff-trust{
  border: 1px solid rgba(148, 163, 184, .18);
  border-left: 1px solid rgba(148, 163, 184, .18);
  background: rgba(255,255,255,.045);
  color: #f8fafc;
  box-shadow: none;
}

body.tm-estimator-page .section-header--vehicles,
body.tm-estimator-page .line-items-head,
body.tm-estimator-page .tm-quick-quotes__list,
body.tm-estimator-page .tm-confirm-actions,
body.tm-estimator-page .modal-header,
body.tm-estimator-page .section-divider{
  border-color: rgba(255,255,255,.09);
}

body.tm-estimator-page .tm-estimate-total-bar,
body.tm-estimator-page .pricing-controls,
body.tm-estimator-page .tm-estimate-action-panel,
body.tm-estimator-page .tm-estimate-action-panel.is-ready-to-add,
body.tm-estimator-page .tm-estimate-action-panel.is-quote-next,
body.tm-estimator-page .estimator-final-actions,
body.tm-estimator-page #estimateSavedBlock,
body.tm-estimator-page .tm-service-card,
body.tm-estimator-page .tm-service-card.is-editing,
body.tm-estimator-page .tm-service-card.is-pricing-selected,
body.tm-estimator-page .tm-service-card.is-pricing-dirty{
  border: 1px solid rgba(148, 163, 184, .18);
  border-left: 1px solid rgba(148, 163, 184, .18);
}

body.tm-estimator-page .tm-estimate-action-panel.is-ready-to-add,
body.tm-estimator-page .tm-estimate-action-panel.is-quote-next,
body.tm-estimator-page .tm-service-card.is-editing,
body.tm-estimator-page .tm-service-card.is-pricing-selected,
body.tm-estimator-page .tm-service-card.is-pricing-dirty{
  background: rgba(255,255,255,.045);
  box-shadow: none;
}

body.tm-estimator-page .tm-service-card::before,
body.tm-estimator-page .tm-service-card.is-editing::before,
body.tm-estimator-page .tm-service-card.is-pricing-selected:not(.is-editing)::before{
  border-color: rgba(255,116,23,.28);
  background: rgba(255,116,23,.11);
  color: #fed7aa;
}

body.tm-estimator-page .tm-estimate-total-bar{
  background: #08111f;
  box-shadow: none;
}

body.tm-estimator-page .tm-estimate-total-bar__label,
body.tm-estimator-page .tm-service-estimate-label{
  color: #fed7aa;
}

body.tm-estimator-page .tm-estimate-total-bar__value,
body.tm-estimator-page .tm-shared-total-value{
  color: #f8fafc;
}

body.tm-estimator-page .tm-guided-estimator input:not([type="checkbox"]):not([type="radio"]),
body.tm-estimator-page .tm-guided-estimator select,
body.tm-estimator-page .tm-guided-estimator textarea,
body.tm-estimator-page .vehicle-card input,
body.tm-estimator-page .vehicle-card select,
body.tm-estimator-page #draftsCard select,
body.tm-estimator-page .modal-card input:not([type="checkbox"]):not([type="radio"]),
body.tm-estimator-page .modal-card select,
body.tm-estimator-page .modal-card textarea{
  border: 1px solid var(--tm-est-field-border) !important;
  background: var(--tm-est-field-bg) !important;
  color: var(--tm-est-field-text) !important;
  border-radius: 10px;
  box-shadow: none !important;
}

body.tm-estimator-page .tm-guided-estimator select option,
body.tm-estimator-page .modal-card select option,
body.tm-estimator-page .vehicle-make-results,
body.tm-estimator-page .make-result-item{
  background: #e8edf2;
  color: #101827;
}

body.tm-estimator-page .make-result-item:hover,
body.tm-estimator-page .make-result-item:focus{
  background: #d8e1ea;
  color: #101827;
}

body.tm-estimator-page .tm-guided-estimator input::placeholder,
body.tm-estimator-page .tm-guided-estimator textarea::placeholder,
body.tm-estimator-page .modal-card input::placeholder,
body.tm-estimator-page .modal-card textarea::placeholder{
  color: var(--tm-est-field-placeholder);
  opacity: 1;
}

body.tm-estimator-page .tm-guided-estimator input:focus,
body.tm-estimator-page .tm-guided-estimator select:focus,
body.tm-estimator-page .tm-guided-estimator textarea:focus,
body.tm-estimator-page .modal-card input:focus,
body.tm-estimator-page .modal-card select:focus,
body.tm-estimator-page .modal-card textarea:focus{
  border-color: rgba(255,116,23,.72) !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(255,116,23,.18) !important;
}

body.tm-estimator-page .tm-btn-primary,
body.tm-estimator-page .tm-estimate-action-panel__button,
body.tm-estimator-page .estimator-final-cta,
body.tm-estimator-page .tm-confirm-primary{
  border-color: rgba(255,116,23,.62);
  background: #ff7417;
  color: #111827;
  box-shadow: 0 14px 28px rgba(255,116,23,.20);
}

body.tm-estimator-page .tm-btn-primary:hover,
body.tm-estimator-page .tm-estimate-action-panel__button:hover,
body.tm-estimator-page .estimator-final-cta:hover,
body.tm-estimator-page .tm-confirm-primary:hover{
  border-color: #ff8a3d;
  background: #ff8a3d;
  color: #111827;
}

body.tm-estimator-page .tm-btn-secondary,
body.tm-estimator-page .tm-btn-ghost,
body.tm-estimator-page #draftsCard .tm-btn-secondary,
body.tm-estimator-page .tm-vin-lookup-btn,
body.tm-estimator-page .clear-fields-btn,
body.tm-estimator-page #sigClearBtn,
body.tm-estimator-page #prepareReviewedEstimateBtn,
body.tm-estimator-page #copyQuoteBtn,
body.tm-estimator-page #copyCustomerMessageBtn,
body.tm-estimator-page #emailQuoteBtn,
body.tm-estimator-page #confirmCloseBtn{
  border-color: rgba(15,23,42,.16);
  background: #f8fafc;
  color: #101827;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

body.tm-estimator-page #draftsCard{
  background: #08111f;
  border: 1px solid rgba(148, 163, 184, .18);
  box-shadow: none;
}

body.tm-estimator-page .customer-message-heading-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

body.tm-estimator-page .customer-message-heading-row .tm-confirm-section-title{
  margin: 0;
}

body.tm-estimator-page #copyCustomerMessageBtn{
  flex: 0 0 auto;
}

body.tm-estimator-page #draftsCard h2{
  color: #f8fafc;
}

body.tm-estimator-page #draftsCard .tm-hint,
body.tm-estimator-page #draftsCard .tm-device-save-label,
body.tm-estimator-page #draftsCard .tm-local-status{
  color: #aebbd0;
}

body.tm-estimator-page #draftRecoveryBlock{
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(148, 163, 184, .18);
  color: #f8fafc;
}

body.tm-estimator-page #draftsCard .tm-btn-secondary{
  border-color: rgba(148, 163, 184, .22);
  background: rgba(15, 23, 42, .78);
  color: #e2e8f0;
  box-shadow: none;
}

body.tm-estimator-page .tm-btn-secondary:hover,
body.tm-estimator-page .tm-btn-ghost:hover,
body.tm-estimator-page .clear-fields-btn:hover{
  border-color: rgba(255,116,23,.38);
  background: #fff7ed;
  color: #111827;
}

body.tm-estimator-page .tm-vehicle-cta-group{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-width: 190px;
}

body.tm-estimator-page .tm-vehicle-cta-group #addVehicleBtn{
  width: 100%;
}

body.tm-estimator-page .tm-vehicle-cta-group .clear-fields-btn{
  min-height: 36px;
  padding: 7px 12px;
  border-color: rgba(253,186,116,.36);
  background: transparent;
  color: #fed7aa;
  font-size: .82rem;
  box-shadow: none;
}

body.tm-estimator-page .tm-vehicle-cta-group .clear-fields-btn:hover,
body.tm-estimator-page .tm-vehicle-cta-group .clear-fields-btn:focus-visible{
  border-color: rgba(253,186,116,.56);
  background: rgba(255,116,23,.08);
  color: #ffedd5;
}

body.tm-estimator-page #draftsCard .tm-btn-secondary:hover,
body.tm-estimator-page #draftsCard .tm-btn-secondary:focus-visible{
  border-color: rgba(255,116,23,.38);
  background: rgba(255,116,23,.10);
  color: #fed7aa;
}

body.tm-estimator-page .tm-btn-danger{
  border-color: rgba(248,113,113,.45);
  background: rgba(127,29,29,.26);
  color: #fecaca;
}

body.tm-estimator-page button:disabled,
body.tm-estimator-page .tm-btn:disabled,
body.tm-estimator-page .estimator-final-cta:disabled,
body.tm-estimator-page .tm-btn[aria-disabled="true"]{
  border-color: rgba(148, 163, 184, .20) !important;
  background: #3b4b61 !important;
  color: #9fb0c5 !important;
  cursor: not-allowed;
  opacity: 1;
  box-shadow: none !important;
  transform: none;
}

body.tm-estimator-page .vin-toggle,
body.tm-estimator-page .breakdown-toggle,
body.tm-estimator-page .tm-quick-quotes__summary{
  color: #f8fafc;
}

body.tm-estimator-page .vin-arrow,
body.tm-estimator-page .tm-quick-quotes__chevron,
body.tm-estimator-page .breakdown-chevron{
  color: #ff8a3d;
}

body.tm-estimator-page .tm-footer{
  border-top-color: rgba(255,255,255,.09);
  background: #0b1120;
  color: #cbd5e1;
}

body.tm-estimator-page .tm-footer a,
body.tm-estimator-page .tm-footer-brand,
body.tm-estimator-page .tm-footer-support{
  color: #94a3b8;
}

body.tm-estimator-page .tm-footer a:hover,
body.tm-estimator-page .tm-footer-support a{
  color: #fed7aa;
}

@media (max-width: 700px){
  body.tm-estimator-page > .tm-container{
    width: min(var(--tm-container), calc(100% - 24px));
    padding-top: 14px;
  }

  body.tm-estimator-page .tm-estimator-header{
    align-items: flex-start;
    padding-top: 12px;
  }

  body.tm-estimator-page .tm-estimator-header h1{
    font-size: 1.8rem;
  }

  body.tm-estimator-page .tm-card,
  body.tm-estimator-page .tm-estimator-section,
  body.tm-estimator-page .tm-shared-quote-card{
    padding: 14px;
    border-radius: 15px;
  }

  body.tm-estimator-page .tm-estimator-quickstart__steps{
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
    justify-items: stretch;
  }

  body.tm-estimator-page .tm-estimator-quickstart__steps span{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 38px;
    padding: 0 3px;
    font-size: .68rem;
    text-align: center;
    box-sizing: border-box;
  }
}

@media (max-width: 640px){
  .tm-homeHero__inner::before{
    display: none;
  }
}

@media (max-width: 700px){
  body.tm-estimator-page .tm-estimator-quickstart{
    padding: 14px;
    overflow: hidden;
  }

  body.tm-estimator-page .tm-estimator-quickstart__title{
    margin-left: 0;
    padding-left: 0;
    text-align: left;
  }

  body.tm-estimator-page .tm-card.tm-estimator-section .tm-btn-primary:not(:disabled),
  body.tm-estimator-page .tm-btn-primary:not(:disabled),
  body.tm-estimator-page .tm-estimate-action-panel__button:not(:disabled),
  body.tm-estimator-page .estimator-final-cta:not(:disabled),
  body.tm-estimator-page .tm-confirm-primary:not(:disabled){
    border-color: rgba(255,116,23,.62);
    background: #ff7417;
    color: #101827;
    box-shadow: 0 14px 28px rgba(255,116,23,.20);
  }

  body.tm-estimator-page .tm-card.tm-estimator-section .tm-btn-primary:not(:disabled):hover,
  body.tm-estimator-page .tm-card.tm-estimator-section .tm-btn-primary:not(:disabled):focus-visible,
  body.tm-estimator-page .tm-btn-primary:not(:disabled):hover,
  body.tm-estimator-page .tm-btn-primary:not(:disabled):focus-visible,
  body.tm-estimator-page .tm-estimate-action-panel__button:not(:disabled):hover,
  body.tm-estimator-page .tm-estimate-action-panel__button:not(:disabled):focus-visible,
  body.tm-estimator-page .estimator-final-cta:not(:disabled):hover,
  body.tm-estimator-page .estimator-final-cta:not(:disabled):focus-visible,
  body.tm-estimator-page .tm-confirm-primary:not(:disabled):hover,
  body.tm-estimator-page .tm-confirm-primary:not(:disabled):focus-visible{
    border-color: #ff8a3d;
    background: #ff8a3d;
    color: #101827;
  }

  body.tm-estimator-page button:disabled,
  body.tm-estimator-page .tm-btn:disabled,
  body.tm-estimator-page .estimator-final-cta:disabled,
  body.tm-estimator-page .tm-btn[aria-disabled="true"]{
    border-color: rgba(148, 163, 184, .20) !important;
    background: #3b4b61 !important;
    color: #d4deeb !important;
    opacity: 1 !important;
    box-shadow: none !important;
  }

  body.tm-estimator-page .tm-section-kicker,
  body.tm-estimator-page .tm-card[aria-label="Vehicles"] .tm-section-kicker,
  body.tm-estimator-page #draftsCard .tm-section-kicker{
    display: inline-flex;
    width: auto;
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fdba74;
    box-shadow: none;
  }

  body.tm-estimator-page .vin-toggle-text{
    color: #e2e8f0 !important;
  }

  body.tm-estimator-page #draftsCard{
    background: #08111f;
    border: 1px solid rgba(148, 163, 184, .18);
    color: #f8fafc;
    box-shadow: none;
  }

  body.tm-estimator-page #draftRecoveryBlock{
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(148, 163, 184, .18);
    color: #e2e8f0;
  }

  body.tm-estimator-page #draftsCard h2,
  body.tm-estimator-page #draftsCard .tm-inline-panel__title{
    color: #f8fafc;
  }

  body.tm-estimator-page #draftsCard .tm-hint,
  body.tm-estimator-page #draftsCard .tm-device-save-label,
  body.tm-estimator-page #draftsCard .tm-local-status,
  body.tm-estimator-page #draftsCard .tm-quote-trust-microcopy{
    color: #aebbd0;
  }
}

/* Mobile repair: shared header and estimator contrast */
@media (max-width: 700px){
  .tm-nav{
    background: rgba(8, 17, 32, .96);
    border-bottom: 1px solid #30394b;
    box-shadow: none;
  }

  .tm-nav::before,
  .tm-nav::after,
  .tm-nav__inner::before,
  .tm-nav__inner::after{
    display: none;
  }

  .tm-brand__torque{
    color: #f7f8fc;
  }

  .tm-brand__mech{
    color: #ff7417;
  }

  .tm-menuBtn,
  .menu-btn{
    border-color: #30394b;
    background: #141a29;
    color: #f7f8fc;
    box-shadow: none;
  }

  .tm-beta-badge{
    display: none;
  }

  body.tm-estimator-page{
    background: linear-gradient(180deg, #081120 0%, #0b1424 100%);
  }

  body.tm-estimator-page .tm-guided-estimator,
  body.tm-estimator-page .tm-guided-estimator p,
  body.tm-estimator-page .tm-guided-estimator li,
  body.tm-estimator-page .tm-guided-estimator label{
    color: #b9c2d3;
  }

  body.tm-estimator-page .tm-guided-estimator h1,
  body.tm-estimator-page .tm-guided-estimator h2,
  body.tm-estimator-page .tm-guided-estimator h3,
  body.tm-estimator-page .tm-guided-estimator strong,
  body.tm-estimator-page .tm-estimate-total-bar__value,
  body.tm-estimator-page .tm-inline-panel__title,
  body.tm-estimator-page .tm-quote-note > div:first-child,
  body.tm-estimator-page .preview-value{
    color: #f7f8fc;
  }

  body.tm-estimator-page .tm-section-kicker,
  body.tm-estimator-page .tm-quick-quotes__eyebrow,
  body.tm-estimator-page .tm-estimate-action-panel__label,
  body.tm-estimator-page .tm-shared-quote-kicker,
  body.tm-estimator-page .estimator-final-step,
  body.tm-estimator-page .tm-estimate-total-bar__label,
  body.tm-estimator-page .tm-service-estimate-label,
  body.tm-estimator-page .tm-service-card::before,
  body.tm-estimator-page #estimateSavedBlock .tm-inline-panel__title::before{
    color: #8fb7ff;
  }

  body.tm-estimator-page .tm-card,
  body.tm-estimator-page .tm-estimator-section,
  body.tm-estimator-page .pricing-controls,
  body.tm-estimator-page .line-items,
  body.tm-estimator-page .tm-estimate-action-panel,
  body.tm-estimator-page .estimator-final-actions,
  body.tm-estimator-page .modal-card{
    border-color: #30394b;
    background: #141a29;
    box-shadow: none;
  }

  body.tm-estimator-page .tm-status-box,
  body.tm-estimator-page .tm-quote-note,
  body.tm-estimator-page #estimateSavedBlock,
  body.tm-estimator-page .tm-estimate-total-bar,
  body.tm-estimator-page .tm-service-estimate,
  body.tm-estimator-page .preview,
  body.tm-estimator-page .tm-confirm-section,
  body.tm-estimator-page .tm-confirm-services-wrap,
  body.tm-estimator-page .tm-confirm-note,
  body.tm-estimator-page .tm-signature-panel,
  body.tm-estimator-page .tm-approval-status{
    border: 1px solid #30394b;
    background: #202838;
    color: #f7f8fc;
    box-shadow: none;
  }

  body.tm-estimator-page .tm-status-box *,
  body.tm-estimator-page .tm-quote-note *,
  body.tm-estimator-page #estimateSavedBlock *,
  body.tm-estimator-page .preview *,
  body.tm-estimator-page .tm-confirm-section *,
  body.tm-estimator-page .tm-confirm-services-wrap *,
  body.tm-estimator-page .tm-confirm-note *,
  body.tm-estimator-page .tm-signature-panel *,
  body.tm-estimator-page .tm-approval-status *{
    color: inherit;
  }

  body.tm-estimator-page .tm-muted,
  body.tm-estimator-page .tm-hint,
  body.tm-estimator-page .tm-field-helper,
  body.tm-estimator-page .tm-device-save-label,
  body.tm-estimator-page .tm-quote-trust-microcopy,
  body.tm-estimator-page .pricing-controls__hint,
  body.tm-estimator-page .line-items-hint,
  body.tm-estimator-page .preview-sub,
  body.tm-estimator-page .tm-local-status{
    color: #b9c2d3;
  }

  body.tm-estimator-page input:not([type="checkbox"]):not([type="radio"]),
  body.tm-estimator-page select,
  body.tm-estimator-page textarea{
    background: #e7ecf2;
    color: #172033;
  }
}

@media (max-width: 700px){
  body.tm-estimator-page .tm-estimator-quickstart__steps{
    grid-template-columns: 1fr;
    gap: 10px;
    justify-items: stretch;
  }

  body.tm-estimator-page .tm-estimator-quickstart__steps span{
    justify-content: flex-start;
    min-height: 34px;
    width: 100%;
    padding: 0 0 0 18px;
    border: 0;
    background: transparent;
    color: #fed7aa;
    font-size: .78rem;
    text-align: left;
    position: relative;
  }

  body.tm-estimator-page .tm-estimator-quickstart__steps span:not(:last-child)::after{
    left: 28px;
    top: 100%;
    width: 1px;
    height: 10px;
    background: rgba(253,186,116,.36);
  }

  body.tm-estimator-page .tm-estimator-quickstart__steps b{
    width: 20px;
    height: 20px;
    margin-right: 7px;
    font-size: .68rem;
  }

  body.tm-estimator-page .tm-vehicle-cta-group{
    min-width: 0;
  }

  body.tm-estimator-page .tm-vehicle-cta-group .clear-fields-btn{
    min-height: 38px;
  }
}

/* Mobile estimator polish: vehicle, VIN, service cards, and quote actions */
body.tm-estimator-page .tm-estimate-action-panel__heading{
  margin-top: 2px;
  color: #f8fafc;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.25;
}

body.tm-estimator-page .tm-pro-job-handoff{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(249, 115, 22, .38);
  border-radius: 8px;
  background: rgba(249, 115, 22, .12);
}

body.tm-estimator-page .tm-pro-job-handoff[hidden]{
  display: none;
}

body.tm-estimator-page .tm-pro-job-handoff__title{
  color: #f8fafc !important;
  font-size: .98rem;
  font-weight: 900;
  line-height: 1.2;
}

body.tm-estimator-page .tm-pro-job-handoff__copy{
  margin-top: 3px;
  color: #b9c8dc !important;
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.35;
}

body.tm-estimator-page #convertToProJobMount{
  display: flex;
  justify-content: flex-end;
}

body.tm-estimator-page #convertToProJobBtn{
  min-height: 42px;
  border-color: rgba(249, 115, 22, .60) !important;
  background: #f97316 !important;
  color: #111827 !important;
  box-shadow: 0 12px 24px rgba(249, 115, 22, .18) !important;
}

@media (max-width: 700px){
  body.tm-estimator-page .tm-estimator-quickstart__steps span:not(:last-child)::after{
    display: none;
  }

  body.tm-estimator-page .section-header--vehicles{
    gap: 10px;
  }

  body.tm-estimator-page .tm-vehicle-cta-group{
    display: flex !important;
    align-items: flex-start;
    min-width: 0;
  }

  body.tm-estimator-page .tm-vehicle-cta-group .clear-fields-btn{
    width: auto;
    min-height: 34px;
    padding: 6px 10px;
    border-color: rgba(253,186,116,.32);
    background: transparent;
    color: #fed7aa;
    font-size: .78rem;
    box-shadow: none;
  }

  body.tm-estimator-page .vin-section{
    width: calc(100% - 24px);
    margin: 10px 12px 0;
    padding: 0;
    border-radius: 12px;
    overflow: hidden;
  }

  body.tm-estimator-page .vin-toggle{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 46px;
    padding: 0 12px;
    gap: 12px;
    line-height: 1.2;
  }

  body.tm-estimator-page .vin-toggle-text{
    display: inline-flex;
    align-items: center;
    min-width: 0;
    color: #e2e8f0 !important;
  }

  body.tm-estimator-page .vin-arrow{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    min-width: 18px;
    color: #ff8a3d;
  }

  body.tm-estimator-page .tm-service-title-row{
    align-items: center;
    gap: 8px;
  }

  body.tm-estimator-page .tm-repair-status-control{
    display: grid;
    grid-template-columns: minmax(92px, 1fr) minmax(0, 124px);
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 36px;
    margin: 8px 0 0;
    padding: 5px 6px 5px 9px;
    border-color: rgba(253,186,116,.26);
    background: rgba(15,23,42,.56);
    color: #ffedd5;
  }

  body.tm-estimator-page .tm-repair-status-control span{
    color: #ffedd5;
    font-size: .66rem;
    letter-spacing: .04em;
  }

  body.tm-estimator-page .tm-repair-status-control select{
    width: 100%;
    min-height: 28px;
    max-width: none;
    padding: 2px 22px 2px 8px;
    border: 1px solid rgba(253,186,116,.24) !important;
    border-radius: 7px;
    background: rgba(255,247,237,.96) !important;
    color: #111827 !important;
    font-size: .78rem;
    box-shadow: none !important;
  }

  body.tm-estimator-page .tm-service-risk-note{
    margin-top: 10px;
    padding: 9px 10px;
    border: 1px solid rgba(253,186,116,.18);
    border-left: 0;
    background: #f8fafc;
    color: #172033;
  }

  body.tm-estimator-page .tm-service-risk-label,
  body.tm-estimator-page .tm-inspection-findings span,
  body.tm-estimator-page .tm-quote-notes-field label{
    color: #ffedd5;
    font-weight: 900;
  }

  body.tm-estimator-page .tm-service-risk-note .tm-service-risk-label{
    color: #334155;
  }

  body.tm-estimator-page .tm-service-risk-note span:last-child{
    color: #172033;
  }

  body.tm-estimator-page .tm-inspection-findings textarea,
  body.tm-estimator-page .tm-quote-notes-field textarea{
    min-height: 44px;
    padding: 9px 10px;
    background: #f8fafc !important;
    color: #172033 !important;
    border-color: rgba(148,163,184,.48) !important;
    line-height: 1.38;
  }

  body.tm-estimator-page .tm-inspection-findings textarea::placeholder,
  body.tm-estimator-page .tm-quote-notes-field textarea::placeholder{
    color: #64748b !important;
  }

  body.tm-estimator-page .tm-estimate-action-panel{
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 12px;
    padding: 12px;
    border-color: rgba(148,163,184,.22);
    border-left: 0;
    background: rgba(15,23,42,.62);
    box-shadow: none;
  }

  body.tm-estimator-page .tm-estimate-action-panel.is-ready-to-add{
    border-color: rgba(255,116,23,.42);
    background: rgba(15,23,42,.72);
  }

  body.tm-estimator-page .tm-estimate-action-panel.is-quote-next{
    border-color: rgba(148,163,184,.24);
    background: rgba(15,23,42,.52);
  }

  body.tm-estimator-page .tm-estimate-action-panel__label{
    color: #fdba74;
    font-size: .68rem;
  }

  body.tm-estimator-page .tm-estimate-action-panel__heading{
    color: #f8fafc;
    font-size: .98rem;
  }

  body.tm-estimator-page .tm-estimate-action-panel__text{
    margin-top: 4px;
    color: #cbd5e1;
    font-size: .86rem;
    font-weight: 700;
  }

  body.tm-estimator-page .tm-estimate-action-panel__button{
    width: 100%;
    min-height: 44px;
    padding-inline: 14px;
  }

  body.tm-estimator-page .tm-pro-job-handoff{
    grid-template-columns: 1fr;
    padding: 11px;
  }

  body.tm-estimator-page #convertToProJobMount,
  body.tm-estimator-page #convertToProJobBtn{
    width: 100%;
  }

  body.tm-estimator-page .tm-estimate-action-panel__button:disabled{
    border-color: rgba(148,163,184,.28) !important;
    background: rgba(51,65,85,.86) !important;
    color: #dbe4ef !important;
  }

  body.tm-estimator-page .estimator-final-step{
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 24px;
    padding: 4px 8px;
    border: 1px solid rgba(255,116,23,.30);
    border-radius: 999px;
    background: rgba(255,116,23,.12);
    color: #fed7aa;
    font-size: .68rem;
    line-height: 1;
  }
}

/* Estimator Clear Quote state */
.tm-estimator-page #clearBtn {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid rgba(255, 116, 23, 0.48);
  background: transparent;
  color: #ff9a5c;
  box-shadow: none;
  opacity: 0.72;
}

.tm-estimator-page #clearBtn:disabled {
  border-color: rgba(255, 116, 23, 0.34);
  background: transparent;
  color: rgba(255, 177, 128, 0.72);
  cursor: default;
  opacity: 1;
  box-shadow: none;
}

.tm-estimator-page #clearBtn:disabled:hover {
  transform: none;
  background: transparent;
  box-shadow: none;
}

.tm-estimator-page #clearBtn.is-active {
  border-color: #ff7417;
  background: linear-gradient(180deg, #ff8537 0%, #ff7417 100%);
  color: #07111f;
  cursor: pointer;
  opacity: 1;
  box-shadow: 0 10px 22px rgba(255, 116, 23, 0.25);
}

.tm-estimator-page #clearBtn.is-active:hover {
  border-color: #ff914d;
  background: linear-gradient(180deg, #ff914d 0%, #ff7417 100%);
  box-shadow: 0 12px 26px rgba(255, 116, 23, 0.32);
}

/* =========================================================
   LIGHT-SURFACE CONTRAST REPAIR
   ========================================================= */

.diag-workflow-card,
.tm-card .tm-workflow-entry-card:first-child,
.tm-crm-toolbar,
.tm-crm-add,
.tm-crm-card,
.tm-crm-empty,
.tm-calendar-panel,
.tm-calendar-card,
.tm-calendar-convert-panel,
.tm-calendar-linked,
.tm-calendar-message-preview,
.tm-calendar-empty,
.tm-shop-settings-panel,
.tm-message-template-card,
.tm-message-preview,
.tm-workflow-help{
  color: #0f172a !important;
}

.diag-workflow-card h3,
.diag-workflow-card strong,
.tm-card .tm-workflow-entry-card:first-child strong,
.tm-crm-toolbar h1,
.tm-crm-toolbar h2,
.tm-crm-toolbar h3,
.tm-crm-add h1,
.tm-crm-add h2,
.tm-crm-add h3,
.tm-crm-add summary,
.tm-crm-add .tm-label,
.tm-crm-card .tm-crm-name,
.tm-crm-card strong,
.tm-calendar-panel h1,
.tm-calendar-panel h2,
.tm-calendar-panel h3,
.tm-calendar-panel > summary,
.tm-calendar-card strong,
.tm-calendar-name,
.tm-calendar-field strong,
.tm-booking-link-panel h2,
.tm-calendar-convert-mode,
.tm-calendar-convert-mode label,
.tm-calendar-linked strong,
.tm-shop-settings-panel h1,
.tm-shop-settings-panel h2,
.tm-shop-settings-panel h3,
.tm-shop-settings-panel .tm-label,
.tm-message-template-details > summary,
.tm-message-preview-text,
.tm-message-placeholder-list code,
.tm-tax-toggle,
.tm-affix-input__symbol{
  color: #0f172a !important;
}

.diag-workflow-card p,
.diag-workflow-card .tm-muted,
.tm-card .tm-workflow-entry-card:first-child .tm-muted,
.tm-crm-toolbar .tm-muted,
.tm-crm-toolbar .tm-crm-count,
.tm-crm-add .tm-muted,
.tm-crm-add .tm-hint,
.tm-crm-add .tm-field-helper,
.tm-crm-card .tm-crm-meta,
.tm-crm-empty,
.tm-calendar-panel p,
.tm-calendar-panel .tm-muted,
.tm-calendar-panel .tm-label,
.tm-calendar-panel .tm-hint,
.tm-calendar-panel .tm-field-helper,
.tm-calendar-when,
.tm-calendar-field span,
.tm-calendar-empty,
.tm-calendar-message-preview p,
.tm-book-time-message,
.tm-shop-settings-help,
.tm-workflow-steps,
.tm-message-placeholder-list,
.tm-message-preview,
.tm-message-preview-text{
  color: #475569 !important;
}

.tm-calendar-copy-status,
.tm-booking-link-status,
.tm-shop-copy-status,
.tm-workflow-help summary,
.tm-message-preview strong{
  color: #0f766e !important;
}

.diag-workflow-card input:not([type="checkbox"]):not([type="radio"]),
.diag-workflow-card select,
.diag-workflow-card textarea,
.tm-crm-toolbar input:not([type="checkbox"]):not([type="radio"]),
.tm-crm-toolbar select,
.tm-crm-toolbar textarea,
.tm-crm-add input:not([type="checkbox"]):not([type="radio"]),
.tm-crm-add select,
.tm-crm-add textarea,
.tm-calendar-panel input:not([type="checkbox"]):not([type="radio"]),
.tm-calendar-panel select,
.tm-calendar-panel textarea,
.tm-shop-settings-panel input:not([type="checkbox"]):not([type="radio"]),
.tm-shop-settings-panel select,
.tm-shop-settings-panel textarea,
.tm-message-template-card textarea{
  border-color: rgba(15, 23, 42, .18);
  background: #f8fafc !important;
  color: #111827 !important;
}

.diag-workflow-card input::placeholder,
.diag-workflow-card textarea::placeholder,
.tm-crm-toolbar input::placeholder,
.tm-crm-toolbar textarea::placeholder,
.tm-crm-add input::placeholder,
.tm-crm-add textarea::placeholder,
.tm-calendar-panel input::placeholder,
.tm-calendar-panel textarea::placeholder,
.tm-shop-settings-panel input::placeholder,
.tm-shop-settings-panel textarea::placeholder,
.tm-message-template-card textarea::placeholder{
  color: #64748b;
  opacity: 1;
}

.tm-crm-toolbar input:disabled,
.tm-crm-toolbar select:disabled,
.tm-crm-toolbar textarea:disabled,
.tm-crm-toolbar button:disabled,
.tm-crm-add input:disabled,
.tm-crm-add select:disabled,
.tm-crm-add textarea:disabled,
.tm-crm-add button:disabled,
.tm-calendar-panel input:disabled,
.tm-calendar-panel select:disabled,
.tm-calendar-panel textarea:disabled,
.tm-calendar-panel button:disabled,
.tm-shop-settings-panel input:disabled,
.tm-shop-settings-panel select:disabled,
.tm-shop-settings-panel textarea:disabled,
.tm-shop-settings-panel button:disabled{
  border-color: #cbd5e1;
  background: #e5e7eb;
  color: #64748b;
  opacity: 1;
}

.tm-crm-toolbar .tm-btn-secondary,
.tm-crm-add .tm-btn-secondary,
.tm-calendar-panel .tm-btn-secondary,
.tm-shop-settings-panel .tm-btn-secondary,
.tm-message-template-card .tm-btn-secondary{
  border-color: rgba(15, 23, 42, .16);
  background: #ffffff;
  color: #0f172a;
}

.tm-crm-toolbar .tm-btn-secondary:hover,
.tm-crm-add .tm-btn-secondary:hover,
.tm-calendar-panel .tm-btn-secondary:hover,
.tm-shop-settings-panel .tm-btn-secondary:hover,
.tm-message-template-card .tm-btn-secondary:hover{
  border-color: rgba(15, 118, 110, .34);
  background: #f8fafc;
  color: #0f766e;
}

/* =========================================================
   PRO CALENDAR DARK SURFACE
   ========================================================= */

.tm-calendar-shell{
  --tm-calendar-panel: #111c2d;
  --tm-calendar-panel-2: #0d1828;
  --tm-calendar-card: #0b1728;
  --tm-calendar-card-2: #132136;
  --tm-calendar-border: rgba(148, 163, 184, .20);
  --tm-calendar-border-strong: rgba(249, 115, 22, .38);
  --tm-calendar-heading: #f8fafc;
  --tm-calendar-text: #cbd5e1;
  --tm-calendar-muted: #a9b6c8;
  --tm-calendar-helper: #8fa1b7;
}

.tm-calendar-shell .tm-calendar-panel,
.tm-calendar-shell .tm-calendar-card,
.tm-calendar-shell .tm-calendar-convert-panel,
.tm-calendar-shell .tm-calendar-linked,
.tm-calendar-shell .tm-calendar-message-preview,
.tm-calendar-shell .tm-calendar-empty{
  border-color: var(--tm-calendar-border) !important;
  background:
    linear-gradient(
      145deg,
      var(--tm-calendar-panel),
      var(--tm-calendar-panel-2)
    ) !important;
  color: var(--tm-calendar-text) !important;
  box-shadow:
    0 18px 40px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .03);
}

.tm-calendar-shell .tm-calendar-card,
.tm-calendar-shell .tm-calendar-convert-panel,
.tm-calendar-shell .tm-calendar-linked,
.tm-calendar-shell .tm-calendar-empty{
  background:
    linear-gradient(
      145deg,
      var(--tm-calendar-card-2),
      var(--tm-calendar-card)
    ) !important;
  box-shadow: none;
}

.tm-calendar-shell .tm-calendar-panel > summary,
.tm-calendar-shell .tm-calendar-panel h1,
.tm-calendar-shell .tm-calendar-panel h2,
.tm-calendar-shell .tm-calendar-panel h3,
.tm-calendar-shell .tm-booking-link-panel h2,
.tm-calendar-shell .tm-calendar-name,
.tm-calendar-shell .tm-calendar-card strong,
.tm-calendar-shell .tm-calendar-field strong,
.tm-calendar-shell .tm-calendar-linked strong,
.tm-calendar-shell .tm-calendar-message-preview strong,
.tm-calendar-shell .tm-calendar-convert-mode,
.tm-calendar-shell .tm-calendar-convert-mode label{
  color: var(--tm-calendar-heading) !important;
}

.tm-calendar-shell .tm-calendar-panel p,
.tm-calendar-shell .tm-calendar-message-preview p,
.tm-calendar-shell .tm-calendar-when,
.tm-calendar-shell .tm-calendar-field span,
.tm-calendar-shell .tm-calendar-panel .tm-label,
.tm-calendar-shell .tm-calendar-panel .tm-muted,
.tm-calendar-shell .tm-calendar-panel .tm-hint,
.tm-calendar-shell .tm-calendar-panel .tm-field-helper,
.tm-calendar-shell .tm-calendar-empty,
.tm-calendar-shell .tm-book-time-message,
.tm-calendar-shell .tm-availability-status,
.tm-calendar-shell .tm-availability-legend{
  color: var(--tm-calendar-muted) !important;
}

.tm-calendar-shell .tm-crm-kicker,
.tm-calendar-shell .tm-calendar-field span,
.tm-calendar-shell .tm-calendar-panel .tm-label{
  color: #d8e2ef !important;
}

.tm-calendar-shell .tm-calendar-panel details:not(.tm-calendar-reschedule):not(.tm-calendar-convert):not(.tm-calendar-message-editor),
.tm-calendar-shell .tm-calendar-reschedule-panel{
  border-color: rgba(148, 163, 184, .16) !important;
  background: rgba(8, 17, 30, .40);
  color: var(--tm-calendar-text);
}

.tm-calendar-shell .tm-booking-link-panel details{
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 8px;
  padding: 11px 12px;
}

.tm-calendar-shell .tm-booking-link-panel details > summary,
.tm-calendar-shell .tm-calendar-message-editor > summary,
.tm-calendar-shell .tm-calendar-reschedule > summary,
.tm-calendar-shell .tm-calendar-convert > summary{
  color: var(--tm-calendar-heading) !important;
}

.tm-calendar-shell .tm-calendar-panel input:not([type="checkbox"]):not([type="radio"]),
.tm-calendar-shell .tm-calendar-panel select,
.tm-calendar-shell .tm-calendar-panel textarea,
.tm-calendar-shell .tm-calendar-message-preview textarea{
  border-color: rgba(148, 163, 184, .28) !important;
  background: #17253a !important;
  color: #f8fafc !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}

.tm-calendar-shell .tm-calendar-panel input:not([type="checkbox"]):not([type="radio"]):focus,
.tm-calendar-shell .tm-calendar-panel select:focus,
.tm-calendar-shell .tm-calendar-panel textarea:focus,
.tm-calendar-shell .tm-calendar-message-preview textarea:focus,
.tm-calendar-shell .tm-calendar-panel input:not([type="checkbox"]):not([type="radio"]):focus-visible,
.tm-calendar-shell .tm-calendar-panel select:focus-visible,
.tm-calendar-shell .tm-calendar-panel textarea:focus-visible,
.tm-calendar-shell .tm-calendar-message-preview textarea:focus-visible{
  border-color: #fb923c !important;
  outline: 3px solid rgba(249, 115, 22, .22);
  background: #1b2b43 !important;
}

.tm-calendar-shell .tm-calendar-panel input::placeholder,
.tm-calendar-shell .tm-calendar-panel textarea::placeholder,
.tm-calendar-shell .tm-calendar-message-preview textarea::placeholder{
  color: var(--tm-calendar-helper) !important;
  opacity: 1;
}

.tm-calendar-shell .tm-calendar-panel input:disabled,
.tm-calendar-shell .tm-calendar-panel select:disabled,
.tm-calendar-shell .tm-calendar-panel textarea:disabled,
.tm-calendar-shell .tm-calendar-panel button:disabled{
  border-color: rgba(148, 163, 184, .18) !important;
  background: #101a2a !important;
  color: #7f91a8 !important;
  opacity: 1;
}

.tm-calendar-shell .tm-btn-secondary{
  border-color: rgba(148, 163, 184, .22) !important;
  background: #111c2d !important;
  color: #f8fafc !important;
  box-shadow: none;
}

.tm-calendar-shell .tm-btn-secondary:hover,
.tm-calendar-shell .tm-btn-secondary:focus-visible{
  border-color: var(--tm-calendar-border-strong) !important;
  background: #18263b !important;
  color: #ffffff !important;
}

.tm-calendar-shell .tm-btn-primary{
  background: #f97316;
  border-color: rgba(249, 115, 22, .58);
  color: #111827;
}

.tm-calendar-shell .tm-btn-primary:hover,
.tm-calendar-shell .tm-btn-primary:focus-visible{
  background: #fb923c;
  border-color: #fb923c;
  color: #111827;
}

.tm-calendar-shell .tm-calendar-message-preview{
  border-left-color: #0f766e !important;
}

.tm-calendar-shell .tm-calendar-copy-status,
.tm-calendar-shell .tm-booking-link-status{
  color: #5eead4 !important;
}

.tm-calendar-shell .tm-calendar-status[data-status="Requested"]{
  background: rgba(249, 115, 22, .16);
  color: #fed7aa;
}

.tm-calendar-shell .tm-calendar-status[data-status="Confirmed"],
.tm-calendar-shell .tm-calendar-status[data-status="Converted"],
.tm-calendar-shell .tm-calendar-status[data-status="Converted to Pro Job"]{
  background: rgba(20, 184, 166, .16);
  color: #99f6e4;
}

.tm-calendar-shell .tm-calendar-status[data-status="Rescheduled"]{
  background: rgba(96, 165, 250, .16);
  color: #bfdbfe;
}

.tm-calendar-shell .tm-calendar-status[data-status="Cancelled"],
.tm-calendar-shell .tm-calendar-status[data-status="Handled"],
.tm-calendar-shell .tm-calendar-status[data-status="Completed"],
.tm-calendar-shell .tm-calendar-status[data-status="Past Appointment"]{
  background: rgba(148, 163, 184, .14);
  color: #cbd5e1;
}

.tm-calendar-shell .tm-calendar-status[data-status="Declined"]{
  background: rgba(248, 113, 113, .16);
  color: #fecaca;
}

.tm-calendar-shell .tm-calendar-notice{
  border-color: rgba(20, 184, 166, .28);
  background: rgba(20, 184, 166, .12);
  color: #99f6e4;
}

.tm-calendar-shell .tm-book-warning{
  border-color: rgba(249, 115, 22, .36);
  background: rgba(249, 115, 22, .12);
  color: #fed7aa;
}

.tm-calendar-shell .tm-availability-calendar{
  border-color: rgba(148, 163, 184, .24) !important;
  background: #0b1728 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}

.tm-calendar-shell .tm-availability-month{
  color: var(--tm-calendar-heading) !important;
}

.tm-calendar-shell .tm-availability-nav{
  border-color: rgba(148, 163, 184, .22) !important;
  background: #111c2d !important;
  color: #f8fafc !important;
}

.tm-calendar-shell .tm-availability-nav:hover,
.tm-calendar-shell .tm-availability-nav:focus-visible{
  border-color: rgba(249, 115, 22, .45) !important;
  background: #18263b !important;
  outline: 3px solid rgba(249, 115, 22, .18);
}

.tm-calendar-shell .tm-availability-weekdays span{
  color: #d8e2ef !important;
}

.tm-calendar-shell .tm-availability-day{
  border-color: rgba(45, 212, 191, .38);
  background: rgba(20, 184, 166, .12);
  color: #ccfbf1;
}

.tm-calendar-shell .tm-availability-day:hover,
.tm-calendar-shell .tm-availability-day:focus-visible{
  border-color: #5eead4;
  outline: 3px solid rgba(45, 212, 191, .20);
}

.tm-calendar-shell .tm-availability-day[aria-pressed="true"]{
  border-color: #fb923c;
  background: #f97316;
  color: #111827;
}

.tm-calendar-shell .tm-availability-day:disabled{
  border-color: rgba(148, 163, 184, .10);
  background: #101a2a;
  color: #73859c;
}

.tm-calendar-shell .tm-availability-legend span::before{
  background: rgba(45, 212, 191, .50);
}

.tm-calendar-shell .tm-availability-legend .is-unavailable::before{
  background: #334155;
}

.tm-calendar-shell .tm-calendar-panel > summary:focus-visible,
.tm-calendar-shell .tm-booking-link-panel details > summary:focus-visible,
.tm-calendar-shell .tm-calendar-message-editor > summary:focus-visible,
.tm-calendar-shell .tm-calendar-reschedule > summary:focus-visible,
.tm-calendar-shell .tm-calendar-convert > summary:focus-visible{
  outline: 3px solid rgba(249, 115, 22, .22);
  outline-offset: 3px;
}

/* =========================================================
   PRO CALENDAR CLEAN FORM CONTROLS
   Light fields with dark readable text.
   ========================================================= */

/* Main calendar form fields */
.tm-calendar-shell .tm-calendar-panel input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.tm-calendar-shell .tm-calendar-panel select,
.tm-calendar-shell .tm-calendar-panel textarea,
.tm-calendar-shell .tm-calendar-message-preview textarea {
  background: #e8edf3 !important;
  background-image: none !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  caret-color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .06) !important;
  opacity: 1 !important;
}

/* Hover and focus */
.tm-calendar-shell .tm-calendar-panel input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
.tm-calendar-shell .tm-calendar-panel select:hover,
.tm-calendar-shell .tm-calendar-panel textarea:hover,
.tm-calendar-shell .tm-calendar-message-preview textarea:hover {
  border-color: #94a3b8 !important;
}

.tm-calendar-shell .tm-calendar-panel input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
.tm-calendar-shell .tm-calendar-panel select:focus,
.tm-calendar-shell .tm-calendar-panel textarea:focus,
.tm-calendar-shell .tm-calendar-message-preview textarea:focus {
  background: #ffffff !important;
  border-color: #60a5fa !important;
  outline: none !important;
  box-shadow:
    0 0 0 3px rgba(96, 165, 250, .20),
    inset 0 1px 2px rgba(15, 23, 42, .05) !important;
}

/* Placeholder text */
.tm-calendar-shell .tm-calendar-panel input::placeholder,
.tm-calendar-shell .tm-calendar-panel textarea::placeholder,
.tm-calendar-shell .tm-calendar-message-preview textarea::placeholder {
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  opacity: 1 !important;
}

/* Dropdown options */
.tm-calendar-shell .tm-calendar-panel select option {
  background: #ffffff !important;
  color: #0f172a !important;
}

/* Disabled controls, including Time before a date is selected */
.tm-calendar-shell .tm-calendar-panel input:disabled,
.tm-calendar-shell .tm-calendar-panel select:disabled,
.tm-calendar-shell .tm-calendar-panel textarea:disabled {
  background: #aeb7c3 !important;
  color: #526174 !important;
  -webkit-text-fill-color: #526174 !important;
  border-color: #94a3b8 !important;
  opacity: 1 !important;
  cursor: not-allowed;
}

/* Read-only booking link */
.tm-calendar-shell .tm-calendar-panel input[readonly] {
  background: #e8edf3 !important;
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  opacity: 1 !important;
}

/* Browser autofill */
.tm-calendar-shell .tm-calendar-panel input:-webkit-autofill,
.tm-calendar-shell .tm-calendar-panel input:-webkit-autofill:hover,
.tm-calendar-shell .tm-calendar-panel input:-webkit-autofill:focus {
  -webkit-text-fill-color: #0f172a !important;
  box-shadow: 0 0 0 1000px #e8edf3 inset !important;
  caret-color: #0f172a !important;
}

/* Calendar dates: available teal, unavailable white */
.tm-calendar-shell .tm-availability-day:not(:disabled) {
  background: #0c2a37 !important;
  color: #ccfbf1 !important;
  border-color: #185a5e !important;
}

.tm-calendar-shell .tm-availability-day:disabled {
  background: #ffffff !important;
  color: #64748b !important;
  border-color: #d5dee9 !important;
  opacity: 1 !important;
}

.tm-calendar-shell .tm-availability-day[aria-pressed="true"] {
  background: #f97316 !important;
  color: #111827 !important;
  border-color: #fb923c !important;
}

/* Top navigation buttons */
.tm-calendar-shell .tm-pro-pagehead .tm-pro-actions .tm-btn {
  background: #132238 !important;
  color: #ffffff !important;
  border-color: #334761 !important;
  box-shadow: none !important;
}

.tm-calendar-shell .tm-pro-pagehead .tm-pro-actions .tm-btn:hover,
.tm-calendar-shell .tm-pro-pagehead .tm-pro-actions .tm-btn:focus-visible {
  background: #1a2d47 !important;
  border-color: #5f7897 !important;
}

/* =========================================================
   APP DARK SURFACE UNIFICATION
   Calendar-approved visual system applied across app surfaces.
   ========================================================= */

:root{
  --tm-app-panel: #101b2f;
  --tm-app-panel-deep: #0b1728;
  --tm-app-panel-inner: #111c2d;
  --tm-app-panel-inner-2: #17263d;
  --tm-app-border: rgba(148, 163, 184, .22);
  --tm-app-border-strong: rgba(148, 163, 184, .32);
  --tm-app-heading: #f8fafc;
  --tm-app-text: #d7e1ee;
  --tm-app-muted: #aebdd0;
  --tm-app-helper: #8fa1b7;
}

body{
  background:
    radial-gradient(circle at 12% 0%, rgba(59, 130, 246, .13), transparent 30rem),
    linear-gradient(180deg, #071221 0%, #050e1b 100%) !important;
  color: var(--tm-app-text);
}

main.tm-container,
.tm-container{
  background: transparent !important;
}

.tm-hero,
.tm-card,
.card,
.tm-panel,
.tm-linked-card,
.tm-section-card,
.tm-auth-panel,
.tm-account-section,
.tm-book-header,
.tm-book-panel,
.tm-pro-pagehead,
.tm-pro-panel,
.tm-pro-workflow,
.tm-pro-workflow-step,
.tm-pro-landing-header,
.tm-pro-workflow-stage,
.tm-pro-workflow-card,
.tm-pro-product-card,
.tm-pro-step-card,
.tm-pro-final-cta,
.tm-pro-welcome,
.tm-quick-actions,
.tm-dashboard-section,
.tm-crm-toolbar,
.tm-crm-add,
.tm-crm-card,
.tm-crm-panel,
.tm-crm-empty,
.tm-crm-vehicle-summary,
.tm-shop-settings-panel,
.tm-schedule-panel,
.tm-message-template-card,
.tm-message-preview,
.tm-workflow-help,
.diag-workflow-card,
.tm-workflow-entry-card,
.tm-intel-card,
.tm-intel-row,
.tm-intel-dashboard,
.tm-parts-source-disclosure,
.tm-parts-source-group,
.tm-parts-intelligence-group,
.tm-guide-card,
.tm-repair-guide-item,
.tm-repair-guide-search,
.tm-repair-card,
.tm-repair-intel-panel,
.tm-repair-relation-group,
.tm-blueprint-hero-card,
.tm-blueprint-action-panel,
.tm-service-card,
.tm-service-meta span,
.tm-service-estimate,
.tm-estimate-total-bar,
.tm-vehicle-context-note,
.tm-workflow-context-note,
.tm-quote-note,
.tm-quick-quotes,
.vin-section,
.tm-homeHero__inner,
.tm-homeToolCard,
.tm-homeFeatureCard,
.tm-homeSystemCard,
.tm-homeKnowledgeItem,
.tm-homeExplore__card,
.tm-homeShortcut,
.tm-quick-find,
.tm-quick-find__result,
.tm-shared-quote-card,
.tm-shared-total-card,
.tm-shared-snapshot-item,
.tm-final-help,
.estimator-final-actions,
.tm-estimate-action-panel,
.tm-empty,
.empty-state,
.modal,
.tm-modal,
table{
  border-color: var(--tm-app-border) !important;
  background:
    linear-gradient(
      145deg,
      var(--tm-app-panel-inner),
      var(--tm-app-panel-deep)
    ) !important;
  color: var(--tm-app-text) !important;
  box-shadow:
    0 18px 40px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .03) !important;
}

.tm-card .tm-card,
.tm-panel .tm-card,
.tm-crm-panel .tm-card,
.tm-crm-panel .tm-crm-row,
.tm-crm-disclosure,
.tm-work-group,
.tm-pro-card,
.tm-pro-carousel-shell,
.tm-pro-carousel-slide,
.tm-dashboard-empty,
.tm-calendar-shell .tm-calendar-card,
.tm-calendar-shell .tm-calendar-convert-panel,
.tm-calendar-shell .tm-calendar-linked,
.tm-calendar-shell .tm-calendar-empty,
.tm-book-hours,
.tm-book-success,
.tm-book-warning,
.tm-account-readonly,
.tm-account-status,
.tm-crm-chip,
.tm-crm-row,
.tm-intel-badge,
.tm-intel-flow-strip,
.tm-homeSystemCard__chips em,
.tm-homeTrustCues span,
.tm-quick-find__code,
.tm-quick-find__popular,
tbody tr,
thead th{
  border-color: rgba(148, 163, 184, .18) !important;
  background: rgba(15, 28, 47, .78) !important;
  color: var(--tm-app-text) !important;
  box-shadow: none !important;
}

h1,
h2,
h3,
h4,
.tm-page-title,
.tm-auth-panel h1,
.tm-account-header h1,
.tm-account-section h2,
.tm-book-header h1,
.tm-book-section-title,
.tm-book-next h2,
.tm-card h1,
.tm-card h2,
.tm-card h3,
.card h1,
.card h2,
.card h3,
.tm-pro-title,
.tm-pro-welcome h2,
.tm-dashboard-section h2,
.tm-quick-actions h2,
.tm-crm-name,
.tm-crm-card strong,
.tm-crm-panel summary,
.tm-crm-panel h2,
.tm-shop-settings-panel h1,
.tm-shop-settings-panel h2,
.tm-message-template-details > summary,
.tm-message-preview-text,
.tm-homeHero__title,
.tm-homeSection__head h2,
.tm-homeToolCard h3,
.tm-homeFeatureCard__header h2,
.tm-homeKnowledgeItem strong,
.tm-homeSystemCard span,
.tm-homeExplore__card strong,
.tm-guide-card h3,
.tm-guide-card__footer,
.tm-quick-find__title,
.tm-quick-find__result-title,
.tm-shared-total-value,
.tm-shared-quote-title,
.estimator-final-heading{
  color: var(--tm-app-heading) !important;
}

p,
li,
label,
.tm-muted,
.tm-subtle,
.tm-pageLead,
.tm-subtitle,
.tm-lead,
.tm-auth-panel p,
.tm-account-header p,
.tm-account-section p,
.tm-book-description,
.tm-book-form-intro,
.tm-book-next ol,
.tm-book-required,
.tm-book-time-message,
.tm-book-time-helper,
.tm-crm-meta,
.tm-crm-count,
.tm-crm-empty,
.tm-pro-subtitle,
.tm-dashboard-section-note,
.tm-quick-actions__note,
.tm-shop-settings-help,
.tm-workflow-steps,
.tm-message-placeholder-list,
.tm-message-preview,
.tm-message-preview-text,
.tm-homeHero__lead,
.tm-homeHero__note,
.tm-homeTrustCues span,
.tm-homeSection__head p,
.tm-homeToolCard p,
.tm-homeFeatureCard__header p,
.tm-homeKnowledgeItem span,
.tm-homeSystemCard p,
.tm-homeExplore__card span:last-child,
.tm-guide-card p,
.tm-quick-find__copy,
.tm-quick-find__hint,
.tm-quick-find__empty,
.tm-quick-find__result-subtitle,
.tm-shared-quote-subtitle,
.tm-shared-total-label,
.tm-shared-snapshot-item span,
.estimator-final-hint,
.tm-final-help__steps{
  color: var(--tm-app-muted) !important;
}

.tm-eyebrow,
.tm-panelLabel,
.tm-crm-kicker,
.tm-section-kicker,
.tm-book-shop,
.tm-shared-quote-kicker,
.tm-homeHero__eyebrow,
.tm-homeFeatureCard__eyebrow,
.tm-homeSystemCard small,
.tm-homeExplore__label,
.tm-estimate-action-panel__label{
  border-color: rgba(249, 115, 22, .28) !important;
  background: rgba(249, 115, 22, .11) !important;
  color: #fed7aa !important;
}

.tm-btn-primary,
.btn-primary,
.tm-auth-primary,
.tm-account-primary,
.tm-book-submit,
.tm-quick-find__button{
  border-color: rgba(249, 115, 22, .58) !important;
  background: #f97316 !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  box-shadow: 0 12px 24px rgba(249, 115, 22, .22) !important;
}

.tm-btn-primary:hover,
.tm-btn-primary:focus-visible,
.btn-primary:hover,
.btn-primary:focus-visible,
.tm-auth-primary:hover,
.tm-auth-primary:focus-visible,
.tm-account-primary:hover,
.tm-account-primary:focus-visible,
.tm-book-submit:hover,
.tm-book-submit:focus-visible,
.tm-quick-find__button:hover,
.tm-quick-find__button:focus-visible{
  border-color: #fb923c !important;
  background: #fb923c !important;
  color: #111827 !important;
}

.tm-btn-secondary,
.btn-secondary,
.tm-btn-ghost,
.tm-account-secondary,
.tm-auth-link,
.tm-book-date-clear,
.tm-homeHero__actions .tm-btn-secondary,
.tm-homeSection__link{
  border-color: var(--tm-app-border-strong) !important;
  background: #111c2d !important;
  color: #f8fafc !important;
  box-shadow: none !important;
}

.tm-btn-secondary:hover,
.tm-btn-secondary:focus-visible,
.btn-secondary:hover,
.btn-secondary:focus-visible,
.tm-btn-ghost:hover,
.tm-btn-ghost:focus-visible,
.tm-account-secondary:hover,
.tm-account-secondary:focus-visible,
.tm-book-date-clear:hover,
.tm-book-date-clear:focus-visible,
.tm-homeHero__actions .tm-btn-secondary:hover,
.tm-homeHero__actions .tm-btn-secondary:focus-visible,
.tm-homeSection__link:hover,
.tm-homeSection__link:focus-visible{
  border-color: rgba(249, 115, 22, .42) !important;
  background: #18263b !important;
  color: #ffffff !important;
}

.tm-btn-danger,
.btn-danger,
.tm-account-danger{
  background: #ef4444 !important;
  border-color: rgba(248, 113, 113, .55) !important;
  color: #ffffff !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([type="color"]):not([type="range"]),
select,
textarea,
.tm-input{
  background: #e8edf3 !important;
  background-image: none !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  caret-color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 12px !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .06) !important;
  opacity: 1 !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([type="color"]):not([type="range"]):hover,
select:hover,
textarea:hover,
.tm-input:hover{
  border-color: #94a3b8 !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([type="color"]):not([type="range"]):focus,
select:focus,
textarea:focus,
.tm-input:focus{
  background: #ffffff !important;
  border-color: #60a5fa !important;
  outline: none !important;
  box-shadow:
    0 0 0 3px rgba(96, 165, 250, .20),
    inset 0 1px 2px rgba(15, 23, 42, .05) !important;
}

input::placeholder,
textarea::placeholder,
.tm-input::placeholder{
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  opacity: 1 !important;
}

select option{
  background: #ffffff !important;
  color: #0f172a !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):disabled,
select:disabled,
textarea:disabled,
.tm-input:disabled,
button:disabled{
  opacity: 1 !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([type="color"]):not([type="range"]):disabled,
select:disabled,
textarea:disabled,
.tm-input:disabled{
  background: #aeb7c3 !important;
  color: #526174 !important;
  -webkit-text-fill-color: #526174 !important;
  border-color: #94a3b8 !important;
  cursor: not-allowed;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus{
  -webkit-text-fill-color: #0f172a !important;
  box-shadow: 0 0 0 1000px #e8edf3 inset !important;
  caret-color: #0f172a !important;
}

input[type="checkbox"],
input[type="radio"],
.signature-pad,
canvas{
  box-shadow: none;
}

.tm-calendar-shell .tm-availability-calendar{
  border-color: var(--tm-app-border) !important;
  background: #0b1728 !important;
  color: var(--tm-app-text) !important;
}

.tm-calendar-shell .tm-availability-month{
  color: var(--tm-app-heading) !important;
}

.tm-calendar-shell .tm-availability-nav{
  border-color: var(--tm-app-border-strong) !important;
  background: #111c2d !important;
  color: #f8fafc !important;
}

.tm-calendar-shell .tm-availability-weekdays span,
.tm-calendar-shell .tm-availability-legend,
.tm-calendar-shell .tm-availability-status{
  color: var(--tm-app-muted) !important;
}

.tm-calendar-shell .tm-availability-day{
  box-shadow: none;
}

.tm-calendar-shell .tm-availability-day:not(:disabled){
  background: #0c2a37 !important;
  color: #ccfbf1 !important;
  border-color: #185a5e !important;
}

.tm-calendar-shell .tm-availability-day:disabled{
  background: #ffffff !important;
  color: #64748b !important;
  border-color: #d5dee9 !important;
  opacity: 1 !important;
}

.tm-calendar-shell .tm-calendar-panel .tm-availability-day:disabled{
  background: #ffffff !important;
  color: #64748b !important;
  border-color: #d5dee9 !important;
  opacity: 1 !important;
}

.tm-calendar-shell .tm-availability-day[aria-pressed="true"]{
  background: #f97316 !important;
  color: #111827 !important;
  border-color: #fb923c !important;
}

.tm-calendar-shell .tm-calendar-panel,
.tm-calendar-shell .tm-calendar-card,
.tm-calendar-shell .tm-calendar-convert-panel,
.tm-calendar-shell .tm-calendar-linked,
.tm-calendar-shell .tm-calendar-message-preview,
.tm-calendar-shell .tm-calendar-empty{
  border-color: var(--tm-calendar-border) !important;
}

/* =========================================================
   INNER DIAGNOSTIC / REPAIR DETAIL DARK READABILITY
   Scoped away from the Repair Guides index.
   ========================================================= */

.tm-intel-page .tm-card,
.tm-intel-page .tm-linked-card,
.tm-intel-page .tm-summary-card,
.tm-intel-page .tm-blueprint-hero-card,
.tm-intel-page .tm-blueprint-action-panel,
.tm-intel-page .tm-blueprint-summary,
.tm-intel-page .tm-blueprint-hero-metrics > div,
.tm-intel-page .tm-blueprint-stat-grid > div,
.tm-intel-page .tm-blueprint-vehicle-details,
.tm-intel-page .tm-blueprint-context-details,
.tm-intel-page .tm-blueprint-step-card,
.tm-intel-page .tm-blueprint-intel-card,
.tm-intel-page .tm-blueprint-context-grid article,
.tm-intel-page .tm-tool-group-grid--compact > div,
.tm-intel-page .tm-symptom-confidence-row,
.tm-intel-page .tm-symptom-cluster,
.tm-intel-page .tm-verify-first-list div,
.tm-intel-page .tm-repair-relation-group,
.tm-intel-page .tm-recommendation-priority-group,
.tm-intel-page .tm-list:not(.tm-list-numbered) li,
.tm-intel-page .tm-list-numbered > li,
.tm-intel-page .tm-vehicle-context-note,
.tm-intel-page .tm-workflow-context-note,
.tm-intel-page .vehicle-card,
.tm-intel-page .obd-related-code-chip,
.tm-intel-page .obd-cost-guide-mini,
.tm-intel-page .tm-workflow-check-chip,
.tm-intel-page .tm-repair-intel-panel,
.tm-intel-page .tm-access-action-card,
.tm-intel-page .tm-trigger-card,
.tm-intel-page .tm-priority-chip,
.tm-intel-page .tm-repair-visual,
.tm-intel-page .repair-diagram,
.tm-intel-page .repair-step-image,
.tm-diagnostics-page .tm-card,
.tm-diagnostics-page .tm-linked-card,
.tm-diagnostics-page .tm-workflow-entry-card,
.tm-diagnostics-page .tm-list:not(.tm-list-numbered) li,
.tm-diagnostics-page .tm-list-numbered > li,
.tm-diagnostics-page .diag-workflow-card,
.tm-diagnostics-page .diag-system-chip,
.tm-diagnostics-page .diag-obd-tile{
  border-color: rgba(148, 163, 184, .22) !important;
  background: linear-gradient(145deg, #111c2d, #0b1728) !important;
  color: #d7e1ee !important;
  box-shadow:
    0 14px 30px rgba(0, 0, 0, .20),
    inset 0 1px 0 rgba(255, 255, 255, .03) !important;
}

.tm-intel-page .tm-blueprint-hero-card{
  border-color: rgba(20, 184, 166, .30) !important;
}

.tm-intel-page h1,
.tm-intel-page h2,
.tm-intel-page h3,
.tm-intel-page h4,
.tm-intel-page .tm-page-title,
.tm-intel-page .tm-card h2,
.tm-intel-page .tm-card h3,
.tm-intel-page .tm-linked-card h3,
.tm-intel-page .tm-blueprint-summary,
.tm-intel-page .tm-blueprint-hero-metrics strong,
.tm-intel-page .tm-blueprint-stat-grid strong,
.tm-intel-page .tm-blueprint-step-card strong,
.tm-intel-page .tm-blueprint-intel-card h3,
.tm-intel-page .tm-blueprint-context-grid h3,
.tm-intel-page .tm-tool-group-grid--compact strong,
.tm-intel-page .tm-symptom-confidence-row span,
.tm-intel-page .tm-symptom-cluster span,
.tm-intel-page .tm-relation-row strong,
.tm-intel-page .tm-recommendation-row strong,
.tm-intel-page .obd-related-code-chip__code,
.tm-intel-page .obd-cost-guide-mini__title,
.tm-intel-page .obd-repair-row__title,
.tm-intel-page .tm-workflow-check-chip strong,
.tm-intel-page .tm-repair-intel-panel h3,
.tm-intel-page .tm-access-action-card strong,
.tm-intel-page .tm-trigger-card strong,
.tm-diagnostics-page h1,
.tm-diagnostics-page h2,
.tm-diagnostics-page h3,
.tm-diagnostics-page h4,
.tm-diagnostics-page .tm-page-title,
.tm-diagnostics-page .tm-card h2,
.tm-diagnostics-page .tm-card h3,
.tm-diagnostics-page .tm-linked-card h3,
.tm-diagnostics-page .tm-workflow-entry-card strong,
.tm-diagnostics-page .tm-card .tm-workflow-entry-card:first-child strong,
.tm-diagnostics-page .diag-workflow-card h3,
.tm-diagnostics-page .diag-workflow-card strong,
.tm-diagnostics-page .diag-system-chip strong,
.tm-diagnostics-page .diag-obd-tile__code{
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
}

.tm-intel-page p,
.tm-intel-page li,
.tm-intel-page .tm-muted,
.tm-intel-page .tm-section-note,
.tm-intel-page .tm-blueprint-section-head p,
.tm-intel-page .tm-blueprint-hero-metrics span,
.tm-intel-page .tm-blueprint-stat-grid span,
.tm-intel-page .tm-blueprint-context-details summary strong,
.tm-intel-page .tm-blueprint-vehicle-details summary strong,
.tm-intel-page .tm-context-mini-title,
.tm-intel-page .tm-relation-row em,
.tm-intel-page .tm-recommendation-row em,
.tm-intel-page .obd-related-code-chip__label,
.tm-intel-page .obd-related-code-chip__footer,
.tm-intel-page .obd-cost-guide-mini__desc,
.tm-intel-page .obd-repair-row__desc,
.tm-intel-page .tm-workflow-check-chip span,
.tm-intel-page .tm-repair-caption,
.tm-intel-page .tm-access-action-card span,
.tm-intel-page .tm-trigger-card span,
.tm-diagnostics-page p,
.tm-diagnostics-page li,
.tm-diagnostics-page .tm-muted,
.tm-diagnostics-page .tm-section-note,
.tm-diagnostics-page .tm-workflow-entry-card .tm-muted,
.tm-diagnostics-page .tm-card .tm-workflow-entry-card:first-child .tm-muted,
.tm-diagnostics-page .tm-workflow-entry-card p,
.tm-diagnostics-page .diag-workflow-card p,
.tm-diagnostics-page .diag-workflow-card .tm-muted,
.tm-diagnostics-page .diag-system-chip .tm-muted,
.tm-diagnostics-page .diag-obd-tile__desc,
.tm-diagnostics-page .diag-obd-tile__footer{
  color: #aebdd0 !important;
  -webkit-text-fill-color: #aebdd0 !important;
}

.tm-intel-page .tm-eyebrow,
.tm-intel-page .tm-blueprint-action-kicker,
.tm-intel-page .tm-blueprint-difficulty-badge,
.tm-intel-page .tm-blueprint-chip,
.tm-intel-page .tm-confidence-cues span,
.tm-intel-page .tm-diagnostic-path-links a,
.tm-intel-page .tm-diagnostic-path-links span,
.tm-intel-page .tm-intel-flow-strip span,
.tm-intel-page .tm-linked-card a,
.tm-intel-page .tm-relation-row a,
.tm-intel-page .tm-recommendation-row a,
.tm-intel-page .tm-estimate-bundle-list a,
.tm-intel-page .tm-estimate-bundle-list span,
.tm-intel-page .tm-blueprint-mini-actions a,
.tm-intel-page .tm-symptom-cluster strong,
.tm-intel-page .tm-verify-first-list div,
.tm-intel-page .obd-cause-link,
.tm-diagnostics-page .tm-eyebrow,
.tm-diagnostics-page .tm-confidence-cues span,
.tm-diagnostics-page .tm-linked-card a,
.tm-diagnostics-page .tm-workflow-entry-card__action,
.tm-diagnostics-page .diag-workflow-links a{
  border-color: rgba(45, 212, 191, .30) !important;
  background: rgba(20, 184, 166, .14) !important;
  color: #99f6e4 !important;
  -webkit-text-fill-color: #99f6e4 !important;
  box-shadow: none !important;
}

.tm-intel-page .tm-blueprint-difficulty-badge--moderate,
.tm-intel-page .tm-symptom-confidence-row--possible-match strong{
  border-color: rgba(96, 165, 250, .28) !important;
  background: rgba(96, 165, 250, .14) !important;
  color: #bfdbfe !important;
  -webkit-text-fill-color: #bfdbfe !important;
}

.tm-intel-page .tm-blueprint-difficulty-badge--advanced,
.tm-intel-page .tm-recommendation-priority-group--bundle h4{
  border-color: rgba(249, 115, 22, .34) !important;
  background: rgba(249, 115, 22, .14) !important;
  color: #fed7aa !important;
  -webkit-text-fill-color: #fed7aa !important;
}

.tm-intel-page .tm-next-action-strip span,
.tm-intel-page .tm-estimate-bundle-list,
.tm-intel-page .tm-estimate-reasoning-list span,
.tm-intel-page .tm-blueprint-vehicle-details summary::after,
.tm-intel-page .tm-blueprint-context-details summary::after,
.tm-intel-page .tm-priority-chip strong,
.tm-intel-page .tm-recommendation-priority-group h4,
.tm-intel-page .tm-symptom-confidence-row strong{
  border-color: rgba(148, 163, 184, .18) !important;
  background: rgba(15, 28, 47, .78) !important;
  color: #d7e1ee !important;
  -webkit-text-fill-color: #d7e1ee !important;
  box-shadow: none !important;
}

.tm-intel-page .tm-blueprint-section-head,
.tm-intel-page .tm-blueprint-context-details[open] summary,
.tm-intel-page .obd-detail-subsection + .obd-detail-subsection,
.tm-intel-page .obd-repair-row,
.tm-intel-page .tm-relation-row,
.tm-intel-page .tm-recommendation-row{
  border-color: rgba(148, 163, 184, .18) !important;
}

.tm-intel-page .tm-btn-primary{
  background: #f97316 !important;
  border-color: rgba(249, 115, 22, .58) !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

@media (max-width: 640px){
  .tm-intel-page .tm-section{
    padding: 8px 0;
  }

  .tm-intel-page .tm-card,
  .tm-intel-page .tm-linked-card,
  .tm-intel-page .tm-blueprint-step-card,
  .tm-intel-page .tm-blueprint-intel-card,
  .tm-intel-page .tm-blueprint-context-grid article,
  .tm-diagnostics-page .tm-card,
  .tm-diagnostics-page .tm-linked-card,
  .tm-diagnostics-page .tm-workflow-entry-card,
  .tm-diagnostics-page .diag-workflow-card,
  .tm-diagnostics-page .diag-system-chip,
  .tm-diagnostics-page .diag-obd-tile{
    padding: 12px !important;
    border-radius: 12px !important;
  }

  .tm-intel-page .tm-page-title{
    font-size: clamp(1.85rem, 8vw, 2.35rem) !important;
    letter-spacing: 0 !important;
  }

  .tm-intel-page h2{
    font-size: 1.08rem !important;
    letter-spacing: 0 !important;
  }

  .tm-intel-page h3,
  .tm-diagnostics-page h3,
  .tm-diagnostics-page .diag-workflow-card h3{
    font-size: .96rem !important;
  }

  .tm-intel-page p,
  .tm-intel-page li,
  .tm-diagnostics-page p,
  .tm-diagnostics-page li,
  .tm-diagnostics-page .diag-workflow-card p{
    font-size: .92rem;
    line-height: 1.45;
  }
}

/* =========================================================
   ADD CUSTOMER FORM â€” TEXT CONTRAST FIX
   ========================================================= */

#add-customer {
  color: #f8fafc !important;
}

#add-customer summary,
#add-customer h1,
#add-customer h2,
#add-customer h3,
#add-customer legend {
  color: #f8fafc !important;
}

#add-customer label {
  color: #cbd5e1 !important;
}

#add-customer input,
#add-customer select,
#add-customer textarea {
  background: #e8edf3 !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
}

#add-customer input::placeholder,
#add-customer textarea::placeholder {
  color: #64748b !important;
  opacity: 1;
}

/* =========================================================
   STICKY FOOTER â€” KEEP FOOTER AT PAGE BOTTOM
   ========================================================= */

html,
body {
  min-height: 100%;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body > main,
body > .tm-page,
body > .tm-app-shell {
  flex: 1 0 auto;
}

body > footer,
.tm-site-footer {
  flex-shrink: 0;
  margin-top: auto;
}

/* =========================================================
   CUSTOMER LIST â€” EXACT DARK CARD TEXT FIX
   ========================================================= */

.tm-crm-cards .tm-crm-card {
  background: #0f1b2d !important;
  border-color: rgba(148, 163, 184, 0.22) !important;
  color: #f8fafc !important;
}

.tm-crm-cards .tm-crm-card .tm-crm-name {
  color: #f8fafc !important;
  opacity: 1 !important;
}

.tm-crm-cards .tm-crm-card .tm-crm-phone {
  color: #cbd5e1 !important;
  opacity: 1 !important;
}

.tm-crm-cards .tm-crm-card .tm-crm-meta {
  color: #cbd5e1 !important;
  opacity: 1 !important;
}

.tm-crm-toolbar .tm-crm-count {
  color: #94a3b8 !important;
  opacity: 1 !important;
}

.tm-crm-cards .tm-crm-card .tm-crm-badge {
  background: #dff4ff !important;
  color: #075985 !important;
  opacity: 1 !important;
}

/* Customer profile â€” remove vehicle card teal accent */
.tm-customer-vehicle-card,
.tm-customer-vehicle-card::before,
.tm-customer-vehicle-card::after,
.vehicle-card,
.vehicle-card::before,
.vehicle-card::after {
    border-left: none !important;
    box-shadow: none !important;
}

.tm-customer-vehicle-card::before,
.tm-customer-vehicle-card::after,
.vehicle-card::before,
.vehicle-card::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 520px) {
  .tm-crm-vehicle {
    padding: 16px 14px 16px 64px;
    min-height: 126px;
  }

  .tm-crm-vehicle::before {
    top: 16px;
    left: 14px;
    width: 36px;
    height: 36px;
    font-size: 18px;
  }
}
/* =========================================================
   CUSTOMER LIST â€” POLISHED DARK WORKSPACE
   ========================================================= */

.tm-pro-shell .tm-crm-shell {
  display: grid;
  gap: 14px;
}

/* Search/filter panel */
.tm-pro-shell .tm-crm-toolbar {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 12px;
  background:
    linear-gradient(145deg, #101c2d 0%, #0b1625 100%);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

/* Search field */
.tm-pro-shell .tm-crm-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.tm-pro-shell .tm-crm-search .tm-input {
  min-height: 48px;
  border: 1px solid #bcc7d3 !important;
  border-radius: 11px !important;
  background:
    linear-gradient(180deg, #f4f7fa 0%, #e4eaf1 100%) !important;
  color: #0f172a !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 3px 8px rgba(0, 0, 0, 0.07);
}

.tm-pro-shell .tm-crm-search .tm-input:focus {
  border-color: #60a5fa !important;
  box-shadow:
    0 0 0 4px rgba(96, 165, 250, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

/* Search button */
.tm-pro-shell .tm-crm-search .tm-btn-primary {
  min-width: 112px;
  border-color: #fb923c !important;
  background:
    linear-gradient(180deg, #fb923c 0%, #f97316 100%) !important;
  color: #111827 !important;
  box-shadow:
    0 10px 22px rgba(249, 115, 22, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

/* Filter pills */
.tm-pro-shell .tm-crm-filter {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.tm-pro-shell .tm-crm-filter-link {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(148, 163, 184, 0.3);
  border-radius: 999px;
  background:
    linear-gradient(180deg, #f8fafc 0%, #e8edf3 100%);
  color: #1e293b !important;
  font-weight: 900;
}

.tm-pro-shell .tm-crm-filter-link--active {
  border-color: rgba(45, 212, 191, 0.42);
  background:
    linear-gradient(180deg, #15998f 0%, #0f766e 100%);
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(15, 118, 110, 0.22);
}

.tm-pro-shell .tm-crm-count {
  margin-top: 10px !important;
  color: #9fb2ca !important;
  font-weight: 850;
}

/* Customer list */
.tm-pro-shell .tm-crm-cards {
  display: grid;
  gap: 11px;
}

/* Customer cards */
.tm-pro-shell .tm-crm-cards .tm-crm-card {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 10px;
  padding: 15px 16px 15px 19px;
  border: 1px solid rgba(96, 165, 250, 0.24) !important;

  border-radius: 11px;
  background:
    radial-gradient(
      circle at 94% 85%,
      rgba(59, 130, 246, 0.09),
      transparent 32%
    ),
    linear-gradient(
      145deg,
      #17263b 0%,
      #111f33 60%,
      #0f1b2d 100%
    ) !important;
  box-shadow:
    0 9px 22px rgba(0, 0, 0, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.035);
  transition:
    transform 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease;
}

.tm-pro-shell .tm-crm-cards .tm-crm-card:hover,
.tm-pro-shell .tm-crm-cards .tm-crm-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(249, 115, 22, 0.62) !important;

  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.2),
    0 0 0 3px rgba(249, 115, 22, 0.08);
  outline: none;
}

.tm-pro-shell .tm-crm-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tm-pro-shell .tm-crm-cards .tm-crm-name {
  color: #ffffff !important;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
}

.tm-pro-shell .tm-crm-cards .tm-crm-phone {
  margin-top: 3px;
  color: #dbe7f5 !important;
  font-weight: 850;
}

.tm-pro-shell .tm-crm-cards .tm-crm-meta {
  color: #b9c8dc !important;
  line-height: 1.35;
}

/* Vehicle count badge */
.tm-pro-shell .tm-crm-cards .tm-crm-badge {
  min-height: 27px;
  display: inline-flex;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid rgba(6, 182, 212, 0.26);
  border-radius: 999px;
  background: #cffafe !important;
  color: #0e7490 !important;
  font-size: 0.72rem;
  font-weight: 900;
  white-space: nowrap;
}

.tm-pro-shell .tm-crm-cards .tm-crm-badge--inactive {
  border-color: rgba(148, 163, 184, 0.28);
  background: #e2e8f0 !important;
  color: #475569 !important;
}

/* Empty state */
.tm-pro-shell .tm-crm-empty {
  padding: 18px;
  border: 1px dashed rgba(148, 163, 184, 0.28);
  border-radius: 11px;
  background:
    linear-gradient(145deg, #172230 0%, #121c29 100%);
  color: #cbd5e1;
  text-align: center;
}

/* Mobile */
@media (max-width: 700px) {
  .tm-pro-shell .tm-crm-toolbar {
    padding: 13px;
  }

  .tm-pro-shell .tm-crm-search {
    grid-template-columns: 1fr;
  }

  .tm-pro-shell .tm-crm-search .tm-btn {
    width: 100%;
  }

  .tm-pro-shell .tm-crm-card__top {
    align-items: flex-start;
  }

  .tm-pro-shell .tm-crm-cards .tm-crm-card {
    padding: 14px 13px 14px 16px;
  }
}

/* CUSTOMER LIST â€” REMOVE SIDE ACCENT LINES */

.tm-pro-shell .tm-crm-cards .tm-crm-card {
  border-left: 1px solid rgba(96, 165, 250, 0.24) !important;
  padding-left: 16px !important;
}

.tm-pro-shell .tm-crm-cards .tm-crm-card:hover,
.tm-pro-shell .tm-crm-cards .tm-crm-card:focus-visible {
  border-left-color: rgba(249, 115, 22, 0.62) !important;
}

/* =========================================================
   FEEDBACK MODAL â€” FINAL MOBILE LAYOUT FIX
   ========================================================= */

#feedbackModal {
  display: grid;
  place-items: center !important;
  align-content: center !important;
  padding: 14px !important;
}

#feedbackModal[hidden] {
  display: none !important;
}

#feedbackModal .tm-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(2, 8, 18, 0.82) !important;
  backdrop-filter: blur(5px);
}

#feedbackModal .tm-modal__panel {
  position: relative;
  z-index: 1;

  /* Critical reset */
  place-self: center !important;
  align-self: center !important;
  justify-self: center !important;
  display: block !important;
  width: min(520px, 100%) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 28px) !important;
  margin: 0 !important;

  padding: 20px !important;
  overflow-y: auto;
  border: 1px solid rgba(148, 163, 184, 0.3) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(
      circle at 94% 4%,
      rgba(249, 115, 22, 0.11),
      transparent 180px
    ),
    linear-gradient(
      145deg,
      #111e31 0%,
      #0b1626 100%
    ) !important;
  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

/* Heading and close button */
#feedbackModal .tm-modal__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 40px;
  align-items: start !important;
  gap: 12px;
  margin: 0 0 14px !important;
  padding: 0 0 13px !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18) !important;
}

#feedbackModal .tm-modal__head h2 {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 1.45rem !important;
  line-height: 1.08 !important;
}

#feedbackModal #feedbackCloseBtn {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  display: grid !important;
  place-items: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(148, 163, 184, 0.32) !important;
  border-radius: 10px !important;
  background: #1b2737 !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

#feedbackModal #feedbackCloseBtn:hover,
#feedbackModal #feedbackCloseBtn:focus-visible {
  border-color: #f97316 !important;
  background: #273446 !important;
  color: #fb923c !important;
  outline: none;
}

/* Intro text */
#feedbackModal .tm-modal__panel > .tm-muted {
  margin: 0 0 15px !important;
  color: #b8c6d8 !important;
  font-size: 0.91rem;
  line-height: 1.45;
}

/* Form */
#feedbackModal #feedbackForm {
  display: grid !important;
  gap: 13px !important;
}

#feedbackModal .tm-grid2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px !important;
}

#feedbackModal #feedbackForm > div[style] {
  margin-top: 0 !important;
}

#feedbackModal .tm-label {
  display: block;
  margin: 0 0 6px !important;
  color: #dbe7f5 !important;
  font-size: 0.78rem !important;
  font-weight: 850 !important;
}

/* Fields */
#feedbackModal .input {
  width: 100% !important;
  min-height: 45px !important;
  padding: 10px 12px !important;
  border: 1px solid #bcc7d3 !important;
  border-radius: 9px !important;
  background:
    linear-gradient(
      180deg,
      #f7f9fc 0%,
      #e7edf4 100%
    ) !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-size: 16px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 3px 8px rgba(0, 0, 0, 0.07) !important;
}

#feedbackModal textarea.input {
  min-height: 116px !important;
  height: 116px !important;
  max-height: 190px;
  resize: vertical;
  line-height: 1.42;
}

#feedbackModal .input::placeholder {
  color: #718096 !important;
  -webkit-text-fill-color: #718096 !important;
  opacity: 1 !important;
}

#feedbackModal .input:focus {
  border-color: #60a5fa !important;
  box-shadow:
    0 0 0 4px rgba(96, 165, 250, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  outline: none;
}

/* Actions */
#feedbackModal .tm-modal-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center !important;
  gap: 10px;
  margin: 2px 0 0 !important;
  padding-top: 14px;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

#feedbackModal #fbStatus:empty {
  display: none;
}

#feedbackModal .tm-modal-btns {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

#feedbackModal .tm-modal-btns .btn {
  min-height: 42px !important;
  padding: 9px 16px !important;
  border-radius: 9px !important;
  font-weight: 900;
}

#feedbackModal .btn-secondary {
  border: 1px solid rgba(148, 163, 184, 0.34) !important;
  background:
    linear-gradient(
      180deg,
      #1b2839 0%,
      #121d2c 100%
    ) !important;
  color: #ffffff !important;
}

#feedbackModal #fbSubmitBtn {
  border: 1px solid #fb923c !important;
  background:
    linear-gradient(
      180deg,
      #fb923c 0%,
      #f97316 100%
    ) !important;
  color: #111827 !important;
  box-shadow: 0 9px 20px rgba(249, 115, 22, 0.24) !important;
}

/* Mobile */
@media (max-width: 600px) {
  #feedbackModal {
    place-items: center !important;
    align-content: center !important;
    padding: 10px !important;
  }

  #feedbackModal .tm-modal__panel {
    place-self: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 20px) !important;
    padding: 16px !important;
    border-radius: 14px !important;
  }

  #feedbackModal .tm-modal__head {
    grid-template-columns: minmax(0, 1fr) 38px;
    margin-bottom: 12px !important;
    padding-bottom: 11px !important;
  }

  #feedbackModal .tm-modal__head h2 {
    font-size: 1.28rem !important;
  }

  #feedbackModal #feedbackCloseBtn {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
  }

  #feedbackModal .tm-grid2 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  #feedbackModal textarea.input {
    min-height: 105px !important;
    height: 105px !important;
  }

  #feedbackModal .tm-modal-actions {
    grid-template-columns: 1fr !important;
  }

  #feedbackModal .tm-modal-btns {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  #feedbackModal .tm-modal-btns .btn {
    width: 100%;
    min-height: 44px !important;
  }
}

/* ==========================================================
   Estimator confirmation summary â€” dark theme repair
   ========================================================== */

.tm-confirm-modal .tm-confirm-services-wrap{
  padding: 14px;
  border: 1px solid rgba(96, 165, 250, 0.24);
  border-radius: 14px;
  background:
    linear-gradient(
      180deg,
      rgba(21, 31, 49, 0.98) 0%,
      rgba(11, 23, 40, 0.98) 100%
    );
  box-shadow: none;
}

.tm-confirm-modal .tm-confirm-services-wrap > div:first-child{
  margin-bottom: 10px;
  color: var(--tm-text-muted);
}

.tm-confirm-modal #confirmServicesList{
  color: var(--tm-text-soft);
}

.tm-confirm-modal .tm-confirm-services-list{
  gap: 12px;
}

.tm-confirm-modal .tm-confirm-total-band{
  align-items: center;
  padding: 13px 14px;
  border: 1px solid rgba(249, 115, 22, 0.34);
  background: rgba(249, 115, 22, 0.10);
}

.tm-confirm-modal .tm-confirm-total-band span{
  color: var(--tm-orange-light);
}

.tm-confirm-modal .tm-confirm-total-band strong{
  color: var(--tm-text);
}

.tm-confirm-modal .tm-confirm-service-row{
  padding: 2px 0 14px;
  border-bottom-color: var(--tm-border);
}

.tm-confirm-modal .tm-confirm-service-name,
.tm-confirm-modal .tm-confirm-service-total strong{
  color: var(--tm-text);
}

.tm-confirm-modal .tm-confirm-service-vehicle,
.tm-confirm-modal .tm-confirm-service-note,
.tm-confirm-modal .tm-confirm-service-total span{
  color: var(--tm-text-muted);
}

.tm-confirm-modal .tm-confirm-service-breakdown span{
  border-color: var(--tm-border);
  background: var(--tm-surface-2);
}

.tm-confirm-modal .tm-confirm-service-breakdown span[data-kind="labor"]{
  border-color: rgba(34, 197, 94, 0.24);
  background: rgba(34, 197, 94, 0.09);
}

.tm-confirm-modal .tm-confirm-service-breakdown span[data-kind="parts"]{
  border-color: rgba(96, 165, 250, 0.24);
  background: rgba(96, 165, 250, 0.09);
}

.tm-confirm-modal .tm-confirm-service-breakdown span[data-kind="travel"]{
  border-color: rgba(168, 85, 247, 0.24);
  background: rgba(168, 85, 247, 0.09);
}

.tm-confirm-modal .tm-confirm-service-breakdown span.is-empty{
  border-style: dashed;
  background: rgba(148, 163, 184, 0.07);
}

.tm-confirm-modal .tm-confirm-service-breakdown strong{
  color: var(--tm-text-muted);
}

.tm-confirm-modal .tm-confirm-service-breakdown em{
  color: var(--tm-text);
}

.tm-confirm-modal .tm-confirm-service-total{
  border-color: rgba(249, 115, 22, 0.28);
  background: rgba(249, 115, 22, 0.09);
}

/* Keep the summary readable and compact on phones. */
@media (max-width: 700px){
  .tm-confirm-modal .tm-confirm-services-wrap{
    padding: 12px;
  }

  .tm-confirm-modal .tm-confirm-total-band{
    align-items: flex-start;
    gap: 5px;
  }

  .tm-confirm-modal .tm-confirm-service-breakdown{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tm-confirm-modal .tm-confirm-service-breakdown span{
    min-width: 0;
    padding: 7px;
  }

  .tm-confirm-modal .tm-confirm-service-breakdown em{
    overflow-wrap: anywhere;
  }

  .tm-confirm-modal .tm-confirm-service-total{
    width: 100%;
    padding: 10px;
  }
}

/* ==========================================================
   Customer review modal â€” lively repair summary card
   Keep this at the very bottom of style.css
   ========================================================== */

.tm-confirm-modal .tm-confirm-services-wrap{
  padding: 14px;
  border: 1px solid rgba(96, 165, 250, .22);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(59, 130, 246, .12), transparent 190px),
    linear-gradient(180deg, #111d31 0%, #0b1728 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .035),
    0 14px 28px rgba(0, 0, 0, .18);
}

.tm-confirm-modal .tm-confirm-services-wrap > div:first-child{
  margin: 0 0 12px;
  color: #aebdd0;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .065em;
  text-transform: uppercase;
}

/* Top estimate summary */
.tm-confirm-modal .tm-confirm-total-band{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  padding: 13px 14px;
  border: 1px solid rgba(249, 115, 22, .40);
  border-radius: 13px;
  background:
    linear-gradient(
      135deg,
      rgba(249, 115, 22, .18) 0%,
      rgba(249, 115, 22, .07) 100%
    );
  box-shadow: inset 4px 0 0 #f97316;
}

.tm-confirm-modal .tm-confirm-total-band span{
  color: #fb923c;
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.tm-confirm-modal .tm-confirm-total-band strong{
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 950;
  line-height: 1;
}

/* Individual repair card */
.tm-confirm-modal .tm-confirm-service-row{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
  padding: 15px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, .18);
  border-left: 4px solid #3b82f6;
  border-radius: 14px;
  background:
    linear-gradient(
      180deg,
      rgba(21, 31, 49, .98) 0%,
      rgba(12, 25, 43, .98) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .035),
    0 9px 22px rgba(0, 0, 0, .16);
}

.tm-confirm-modal .tm-confirm-service-row::after{
  content: "";
  position: absolute;
  top: -32px;
  right: -28px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: rgba(59, 130, 246, .08);
  pointer-events: none;
}

/* Repair title */
.tm-confirm-modal .tm-confirm-service-name{
  position: relative;
  z-index: 1;
  margin: 0 0 7px;
  padding-right: 8px;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 950;
  line-height: 1.28;
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
}

/* Status and vehicle become compact pills */
.tm-confirm-modal .tm-confirm-service-status{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 25px;
  margin: 0 7px 8px 0;
  padding: 4px 9px;
  border: 1px solid rgba(34, 197, 94, .30);
  border-radius: 999px;
  background: rgba(34, 197, 94, .12);
  color: #bbf7d0;
  font-size: .66rem;
  font-weight: 950;
  line-height: 1;
}

.tm-confirm-modal .tm-confirm-service-vehicle{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 25px;
  margin: 0 0 8px;
  padding: 4px 9px;
  border: 1px solid rgba(96, 165, 250, .25);
  border-radius: 999px;
  background: rgba(59, 130, 246, .10);
  color: #dbeafe;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1;
}

/* Compact pricing chips */
.tm-confirm-modal .tm-confirm-service-breakdown{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 7px;
  margin: 4px 0 0;
}

.tm-confirm-modal .tm-confirm-service-breakdown span{
  display: grid;
  gap: 3px;
  flex: 0 0 auto;
  min-width: 0;
  padding: 7px 10px;
  border: 1px solid rgba(96, 165, 250, .24);
  border-radius: 9px;
  background: rgba(59, 130, 246, .09);
}

.tm-confirm-modal
.tm-confirm-service-breakdown
span[data-kind="quantity"]{
  width: 58px;
  min-width: 58px;
  max-width: 58px;
}

.tm-confirm-modal .tm-confirm-service-breakdown strong{
  color: #93a8c2;
  font-size: .60rem;
  font-weight: 950;
  letter-spacing: .045em;
  line-height: 1;
  text-transform: uppercase;
}

.tm-confirm-modal .tm-confirm-service-breakdown em{
  color: #ffffff;
  font-size: .9rem;
  font-style: normal;
  font-weight: 950;
  line-height: 1;
}

/* Risk note becomes its own readable callout */
.tm-confirm-modal .tm-confirm-service-note{
  position: relative;
  margin: 13px 0 0;
  padding: 10px 11px 10px 13px;
  border: 1px solid rgba(245, 158, 11, .18);
  border-left: 3px solid rgba(245, 158, 11, .78);
  border-radius: 10px;
  background: rgba(245, 158, 11, .07);
  color: #d7e1ee;
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.48;
}

/* Estimate total row */
.tm-confirm-modal .tm-confirm-service-total{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-width: 0;
  margin-top: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(249, 115, 22, .30);
  border-radius: 10px;
  background:
    linear-gradient(
      90deg,
      rgba(249, 115, 22, .12) 0%,
      rgba(249, 115, 22, .05) 100%
    );
  text-align: left;
}

.tm-confirm-modal .tm-confirm-service-total span{
  color: #cbd5e1;
  font-size: .65rem;
  font-weight: 950;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.tm-confirm-modal .tm-confirm-service-total strong{
  color: #ffffff;
  font-size: 1.12rem;
  font-weight: 950;
}

/* Bottom grand total */
.tm-confirm-modal .tm-confirm-grand-total{
  margin-top: 13px;
  padding: 14px 2px 2px;
  border-top: 1px solid rgba(148, 163, 184, .18);
  color: #ffffff;
  font-size: .98rem;
}

.tm-confirm-modal .tm-confirm-grand-total strong{
  color: #fb923c;
  font-size: 1.28rem;
  font-weight: 950;
}

/* Phone refinement */
@media (max-width: 700px){
  .tm-confirm-modal .tm-confirm-services-wrap{
    padding: 12px;
  }

  .tm-confirm-modal .tm-confirm-total-band{
    margin-bottom: 12px;
    padding: 12px;
  }

  .tm-confirm-modal .tm-confirm-service-row{
    padding: 13px 12px;
  }

  .tm-confirm-modal .tm-confirm-service-name{
    font-size: .96rem;
  }

  .tm-confirm-modal .tm-confirm-service-note{
    font-size: .77rem;
    line-height: 1.46;
  }

  .tm-confirm-modal
  .tm-confirm-service-breakdown
  span[data-kind="quantity"]{
    width: 56px;
    min-width: 56px;
    max-width: 56px;
  }
}

/* Remove redundant total at top of customer review */
.tm-confirm-modal .tm-confirm-total-band{
  display: none !important;
}

.tm-confirm-modal .tm-confirm-services-wrap > div:first-child{
  margin-bottom: 10px;
}

/* TorqueMech photo access confirmation */
body.tm-photo-access-open {
  overflow: hidden;
}

.tm-photo-access-modal[hidden] {
  display: none !important;
}

.tm-photo-access-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: 20px;
}

.tm-photo-access-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(2, 10, 18, 0.78);
  backdrop-filter: blur(4px);
}

.tm-photo-access-dialog {
  position: relative;
  z-index: 1;
  width: min(460px, 100%);
  padding: 28px;
  border: 1px solid var(--tm-border);
  border-radius: 18px;
  background: linear-gradient(180deg, var(--tm-surface) 0%, var(--tm-surface-3) 100%);
  color: var(--tm-text-soft);
  box-shadow: var(--tm-shadow-lg);
  text-align: center;
}

.tm-photo-access-dialog h2 {
  margin: 12px 0 10px;
  color: var(--tm-text);
  font-size: 1.45rem;
}

.tm-photo-access-dialog p {
  margin: 0;
  color: var(--tm-text-muted);
  line-height: 1.55;
}

.tm-photo-access-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 auto;
  border-radius: 16px;
  background: rgba(249, 115, 22, 0.15);
  font-size: 28px;
}

.tm-photo-access-privacy {
  margin-top: 10px !important;
  font-size: 0.84rem;
}

.tm-photo-access-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--tm-text-muted);
  font-size: 28px;
  line-height: 1;
  box-shadow: none;
}

.tm-photo-access-close:hover,
.tm-photo-access-close:focus-visible {
  background: rgba(255, 255, 255, 0.06);
  color: var(--tm-text);
}

.tm-photo-access-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 22px;
}

@media (max-width: 520px) {
  .tm-photo-access-modal {
    place-items: end center;
    padding: 10px;
  }

  .tm-photo-access-dialog {
    padding: 26px 18px 18px;
    border-radius: 18px 18px 0 0;
  }

  .tm-photo-access-actions {
    flex-direction: column-reverse;
  }

  .tm-photo-access-actions .tm-btn {
    width: 100%;
  }
}

/* Estimator signature validation message */
.tm-signature-panel #confirmMsg.status{
  width: 100%;
  min-height: auto;
  margin-top: 10px;
}

/* Customer PDF service education option */
.tm-confirm-options-grid .tm-service-education-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 12px 13px;

  border: 1px solid rgba(249, 115, 22, 0.72);
  border-radius: 8px;
  background: rgba(249, 115, 22, 0.06);

  color: #f8fafc;
  cursor: pointer;
  box-shadow: none;
}

.tm-confirm-options-grid .tm-service-education-option > span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.tm-confirm-options-grid .tm-service-education-option strong {
  color: #f8fafc;
  font-size: 0.84rem;
  font-weight: 850;
  line-height: 1.25;
}

.tm-confirm-options-grid .tm-service-education-option small {
  color: #c4cfdd;
  font-size: 0.72rem;
  font-weight: 650;
  line-height: 1.3;
}

.tm-confirm-options-grid .tm-service-education-option input {
  width: 16px;
  height: 16px;
  margin: 1px 0 0;
  accent-color: #0e7490;
}

.tm-confirm-options-grid .tm-service-education-option:hover,
.tm-confirm-options-grid .tm-service-education-option:has(input:checked) {
  border-color: #fb923c;
  background: rgba(249, 115, 22, 0.09);
  box-shadow: none;
}

/* Finding → Estimator context box */
#findingEstimateContext {
    background: #2C551E1F;
    border: 1px solid #BBF7D0;
    border-left: 4px solid #BBF7D0;
    color: #BBF7D0;
    box-shadow: none;
}

#findingEstimateContext strong,
#findingEstimateContext span,
#findingEstimateContext em {
    color: #BBF7D0;
}

/* Notification bell: subtle icon and mobile-safe dropdown */
.tm-nav,
.tm-nav__inner,
.tm-notification{
  overflow: visible;
}

.tm-notificationBtn{
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  color: rgba(226, 232, 240, .62);
}

.tm-notificationBtn:hover,
.tm-notificationBtn:focus-visible{
  background: rgba(255, 255, 255, .05);
  border-color: rgba(148, 163, 184, .18);
  color: rgba(248, 250, 252, .9);
  outline: none;
}

.tm-notificationBtn__icon{
  font-size: 1.15rem;
  filter: grayscale(1);
  opacity: .78;
}

.tm-notificationBtn__badge{
  top: -2px;
  right: -2px;
  min-width: 18px;
  width: 18px;
  height: 18px;
  padding: 0;
  border: 2px solid var(--tm-bg);
  background: #fbbf24;
  color: #172033;
  font-size: 0;
}

.tm-notificationBtn__badge::after{
  content: "!";
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
}

@media (max-width: 640px){
  .tm-notificationPanel{
    position: fixed;
    top: 70px;
    right: 12px;
    left: 12px;
    width: auto;
    max-width: none;
    max-height: calc(100dvh - 86px);
    margin: 0;
    padding: 12px;
    overflow-x: hidden;
    overflow-y: auto;
    transform: none;
    box-sizing: border-box;
  }

  .tm-notificationPanel__head,
  .tm-notificationList,
  .tm-notificationItemShell,
  .tm-notificationItem,
  .tm-notificationEmpty{
    min-width: 0;
    max-width: 100%;
  }

  .tm-notificationPanel__head h2,
  .tm-notificationItem h3,
  .tm-notificationItem p,
  .tm-notificationEmpty{
    overflow-wrap: anywhere;
  }
}

/* ==========================================================
   How It Works Page
   ========================================================== */

.tm-how-it-works{
  display: grid;
  gap: 26px;
  padding-top: 34px;
}

.tm-how-hero{
  position: relative;
  overflow: hidden;
  padding: 44px 38px;
  border: 1px solid rgba(96, 165, 250, .24);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 10%, rgba(249, 115, 22, .14), transparent 22rem),
    radial-gradient(circle at 10% 10%, rgba(59, 130, 246, .16), transparent 26rem),
    linear-gradient(180deg, rgba(16, 27, 47, .96) 0%, rgba(8, 20, 36, .98) 100%);
  box-shadow: var(--tm-shadow-lg);
}

.tm-how-hero::after{
  content: "";
  position: absolute;
  right: -90px;
  bottom: -120px;
  width: 300px;
  height: 300px;
  border: 1px solid rgba(249, 115, 22, .18);
  border-radius: 999px;
  box-shadow:
    0 0 0 34px rgba(249, 115, 22, .035),
    0 0 0 70px rgba(59, 130, 246, .025);
  pointer-events: none;
}

.tm-how-hero .tm-eyebrow,
.tm-how-hero .tm-page-title,
.tm-how-hero .tm-lead,
.tm-how-hero__actions{
  position: relative;
  z-index: 1;
}

.tm-how-hero .tm-page-title{
  max-width: 760px;
  margin-bottom: 16px;
  font-size: clamp(2.35rem, 4.4vw, 3.8rem);
  font-weight: 950;
  letter-spacing: -.045em;
  line-height: 1;
}

.tm-how-hero .tm-lead{
  max-width: 720px;
  margin: 0;
  color: var(--tm-text-soft);
  font-size: clamp(1rem, 1.8vw, 1.16rem);
  line-height: 1.7;
}

.tm-how-hero__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.tm-how-hero__actions .btn{
  min-height: 50px;
  padding-inline: 20px;
}

.tm-how-section{
  padding: 28px;
  border: 1px solid var(--tm-border);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(16, 27, 47, .96) 0%, rgba(8, 20, 36, .96) 100%);
  box-shadow: var(--tm-shadow-md);
  scroll-margin-top: 88px;
}

.tm-how-section__heading{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 8px;
}

.tm-how-section__heading > div{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.tm-how-section__heading h2{
  margin: 0;
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  font-weight: 950;
  letter-spacing: -.025em;
}

.tm-how-section__number{
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(249, 115, 22, .40);
  border-radius: 12px;
  background: rgba(249, 115, 22, .14);
  color: var(--tm-orange-light);
  font-size: .88rem;
  font-weight: 950;
  line-height: 1;
}

.tm-how-section__duration{
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid rgba(96, 165, 250, .24);
  border-radius: 999px;
  background: rgba(59, 130, 246, .10);
  color: #bfdbfe;
  font-size: .78rem;
  font-weight: 850;
  white-space: nowrap;
}

.tm-how-section > .tm-muted{
  margin: 0 0 18px 52px;
  line-height: 1.55;
}

.tm-video-placeholder{
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  width: min(100%, 960px);
  aspect-ratio: 16 / 9;
  min-height: 0;
  margin-inline: auto;
  overflow: hidden;
  padding: 28px;
  border: 1px solid rgba(96, 165, 250, .26);
  border-radius: 18px;
  background:
    linear-gradient(rgba(148, 163, 184, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, .04) 1px, transparent 1px),
    radial-gradient(circle at center, rgba(59, 130, 246, .14), transparent 22rem),
    #071221;
  background-size:
    28px 28px,
    28px 28px,
    auto,
    auto;
  text-align: center;
  box-shadow: inset 0 0 50px rgba(0, 0, 0, .30);
}

.tm-video-placeholder--large{
  width: min(100%, 1040px);
}

.tm-video-placeholder__icon{
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  padding-left: 4px;
  border: 1px solid rgba(249, 115, 22, .52);
  border-radius: 999px;
  background:
    linear-gradient(180deg, var(--tm-orange-light) 0%, var(--tm-orange) 100%);
  color: #111827;
  font-size: 1.5rem;
  box-shadow:
    0 0 0 10px rgba(249, 115, 22, .08),
    0 18px 38px rgba(249, 115, 22, .24);
}

.tm-video-placeholder strong{
  margin-top: 6px;
  color: var(--tm-text);
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  font-weight: 950;
}

.tm-video-placeholder span{
  max-width: 580px;
  color: var(--tm-text-muted);
  font-size: .94rem;
  line-height: 1.6;
}

.tm-workflow-video{
  width: min(100%, 1040px);
  aspect-ratio: 16 / 9;
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(96, 165, 250, .26);
  border-radius: 18px;
  background: #020617;
  box-shadow:
    inset 0 0 50px rgba(0, 0, 0, .30),
    0 18px 42px rgba(0, 0, 0, .22);
}

.tm-workflow-video__player{
  display: block;
  width: 100%;
  height: 100%;
  background: #020617;
  object-fit: contain;
}


.tm-workflow-intro{
  margin-top: 24px;
  text-align: center;
}

.tm-workflow-intro h3{
  margin: 0 0 6px;
  color: var(--tm-text);
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  font-weight: 950;
}

.tm-workflow-intro p{
  margin: 0;
  color: var(--tm-text-muted);
  font-size: .92rem;
  line-height: 1.5;
}

.tm-workflow-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.tm-workflow-step{
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--tm-border);
  border-radius: 15px;
  background: rgba(21, 31, 49, .72);
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease;
}

.tm-workflow-step:hover{
  transform: translateY(-2px);
  border-color: rgba(249, 115, 22, .36);
  background: rgba(21, 31, 49, .96);
}

.tm-workflow-step > span{
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(96, 165, 250, .28);
  border-radius: 10px;
  background: rgba(59, 130, 246, .12);
  color: var(--tm-blue-light);
  font-size: .82rem;
  font-weight: 950;
}

.tm-workflow-step h3{
  margin: 1px 0 5px;
  color: var(--tm-text);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.25;
}

.tm-workflow-step p{
  margin: 0;
  color: var(--tm-text-muted);
  font-size: .86rem;
  line-height: 1.5;
}

.tm-help-video-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.tm-help-video-card{
  overflow: hidden;
  border: 1px solid var(--tm-border);
  border-radius: 16px;
  background: rgba(21, 31, 49, .72);
  box-shadow: var(--tm-shadow-sm);
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease;
}

.tm-help-video-card:hover{
  transform: translateY(-2px);
  border-color: rgba(96, 165, 250, .34);
  box-shadow: var(--tm-shadow-md);
}

.tm-help-video-card__preview{
  display: grid;
  place-items: center;
  min-height: 138px;
  border-bottom: 1px solid var(--tm-border);
  background:
    linear-gradient(rgba(148, 163, 184, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, .045) 1px, transparent 1px),
    radial-gradient(circle at center, rgba(59, 130, 246, .15), transparent 12rem),
    #071221;
  background-size:
    22px 22px,
    22px 22px,
    auto,
    auto;
  color: var(--tm-orange-light);
  font-size: 1.4rem;
}

.tm-help-video-card h3{
  margin: 16px 16px 7px;
  color: var(--tm-text);
  font-size: 1rem;
  font-weight: 900;
}

.tm-help-video-card p{
  min-height: 44px;
  margin: 0 16px 14px;
  color: var(--tm-text-muted);
  font-size: .84rem;
  line-height: 1.5;
}

.tm-help-video-card > span{
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  margin: 0 16px 16px;
  padding: 4px 8px;
  border: 1px solid rgba(249, 115, 22, .28);
  border-radius: 999px;
  background: rgba(249, 115, 22, .10);
  color: #fed7aa;
  font-size: .72rem;
  font-weight: 900;
}

.tm-how-cta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 30px;
  border: 1px solid rgba(249, 115, 22, .34);
  border-radius: 22px;
  background:
    radial-gradient(circle at 90% 0%, rgba(249, 115, 22, .14), transparent 20rem),
    linear-gradient(180deg, rgba(21, 31, 49, .96) 0%, rgba(8, 20, 36, .98) 100%);
  box-shadow: var(--tm-shadow-md);
}

.tm-how-cta h2{
  max-width: 680px;
  margin-bottom: 8px;
  font-size: clamp(1.5rem, 2.8vw, 2.25rem);
  font-weight: 950;
  letter-spacing: -.03em;
}

.tm-how-cta p{
  max-width: 650px;
  margin: 0;
  color: var(--tm-text-muted);
  line-height: 1.6;
}

.tm-how-cta__actions{
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.tm-how-cta__actions .btn{
  min-height: 48px;
  white-space: nowrap;
}

/* How It Works tablet */
@media (max-width: 900px){
  .tm-help-video-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tm-how-cta{
    align-items: flex-start;
    flex-direction: column;
  }

  .tm-how-cta__actions{
    justify-content: flex-start;
  }
}

/* How It Works mobile */
@media (max-width: 700px){
  .tm-how-it-works{
    gap: 18px;
    padding-top: 20px;
  }

  .tm-how-hero{
    padding: 30px 20px;
    border-radius: 20px;
  }

  .tm-how-hero .tm-page-title{
    font-size: clamp(2.1rem, 11vw, 3rem);
    line-height: 1.02;
  }

  .tm-how-hero .tm-lead{
    font-size: .96rem;
    line-height: 1.62;
  }

  .tm-how-hero__actions{
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .tm-how-hero__actions .btn{
    width: 100%;
  }

  .tm-how-section{
    padding: 18px;
    border-radius: 18px;
  }

  .tm-how-section__heading{
    display: grid;
    gap: 10px;
  }

  .tm-how-section__heading > div{
    align-items: flex-start;
  }

  .tm-how-section__number{
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }

  .tm-how-section__duration{
    width: max-content;
    max-width: 100%;
    margin-left: 48px;
  }

  .tm-how-section > .tm-muted{
    margin: 8px 0 16px;
  }

  .tm-video-placeholder,
  .tm-video-placeholder--large{
    width: 100%;
    min-height: 230px;
    aspect-ratio: auto;
    padding: 22px 16px;
    border-radius: 15px;
  }

  .tm-video-placeholder__icon{
    width: 62px;
    height: 62px;
  }

  .tm-workflow-video{
    width: 100%;
    border-radius: 15px;
  }

  .tm-workflow-intro{
    margin-top: 20px;
    text-align: left;
  }

  .tm-workflow-grid{
    grid-template-columns: 1fr;
    gap: 9px;
    margin-top: 16px;
  }

  .tm-workflow-step{
    padding: 13px;
  }

  .tm-help-video-grid{
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .tm-help-video-card__preview{
    min-height: 122px;
  }

  .tm-help-video-card p{
    min-height: 0;
  }

  .tm-how-cta{
    gap: 18px;
    padding: 22px 18px;
    border-radius: 18px;
  }

  .tm-how-cta__actions{
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .tm-how-cta__actions .btn{
    width: 100%;
  }
}

/* ==========================================================
   Estimator workflow cleanup — August 2026
   ========================================================== */

.tm-estimator-page .tm-estimator-quickstart{
  position: sticky;
  top: 76px;
  z-index: 30;
  padding: 12px 14px;
  background: rgba(16, 27, 47, .96);
  backdrop-filter: blur(12px);
}

.tm-estimator-page .tm-estimator-quickstart__title{
  margin-bottom: 10px;
  color: var(--tm-text-muted);
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.tm-estimator-page .tm-estimator-quickstart__steps{
  gap: 10px;
}

.tm-estimator-page .tm-estimator-quickstart__steps span{
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  border-color: var(--tm-border);
  background: rgba(11, 23, 40, .78);
  color: var(--tm-text-muted);
}

.tm-estimator-page .tm-estimator-quickstart__steps span b{
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(249, 115, 22, .14);
  color: var(--tm-orange-light);
  font-size: .72rem;
}

.tm-estimator-page .tm-estimator-quickstart__steps span.is-active{
  border-color: rgba(249, 115, 22, .55);
  background: rgba(249, 115, 22, .10);
  color: var(--tm-text);
  box-shadow: inset 0 0 0 1px rgba(249, 115, 22, .12);
}

.tm-estimator-page .tm-estimator-quickstart__steps span.is-active b{
  background: var(--tm-orange);
  color: #111827;
}

.tm-estimator-page .section-header--vehicles,
.tm-estimator-page .vehicle-header{
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--tm-border);
}

.tm-estimator-page .section-header--vehicles h2,
.tm-estimator-page .tm-service-title-group h2{
  margin: 0;
  font-size: clamp(1.45rem, 2.2vw, 1.9rem);
  letter-spacing: -.02em;
}

.tm-estimator-page .tm-estimator-sticky-summary{
  position: sticky;
  top: 148px;
  z-index: 25;
  display: grid;
  grid-template-columns: minmax(170px, 1.25fr) minmax(120px, .8fr) minmax(150px, .8fr) auto;
  gap: 10px;
  align-items: stretch;
  margin-top: 14px;
  padding: 10px;
  border: 1px solid rgba(249, 115, 22, .28);
  border-radius: 14px;
  background: rgba(10, 22, 38, .96);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 34px rgba(0,0,0,.22);
}

.tm-estimator-page .tm-estimator-sticky-summary__vehicle,
.tm-estimator-page .tm-estimator-sticky-summary__status,
.tm-estimator-page .tm-estimate-total-bar{
  min-width: 0;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--tm-border);
  border-left-width: 1px;
  border-radius: 10px;
  background: var(--tm-surface);
  box-shadow: none;
}

.tm-estimator-page .tm-estimator-sticky-summary__vehicle span,
.tm-estimator-page .tm-estimator-sticky-summary__status span{
  display: block;
  margin-bottom: 4px;
  color: var(--tm-text-muted);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.tm-estimator-page .tm-estimator-sticky-summary__vehicle strong,
.tm-estimator-page .tm-estimator-sticky-summary__status strong{
  display: block;
  color: var(--tm-text);
  font-size: .9rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.tm-estimator-page .tm-estimate-total-bar{
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
}

.tm-estimator-page .tm-estimate-total-bar__value{
  color: var(--tm-text);
  font-size: 1.45rem;
}

.tm-estimator-page .tm-estimator-sticky-summary__action{
  min-width: 150px;
  min-height: 56px;
  padding-inline: 18px;
  white-space: nowrap;
}

.tm-estimator-page .tm-active-vehicle-banner--compact{
  margin-bottom: 12px;
  padding: 9px 11px;
  border-style: dashed;
  background: rgba(249, 115, 22, .05);
}

.tm-estimator-page .tm-quick-quotes{
  display: block;
  margin: 12px 0 14px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--tm-border);
  border-radius: 12px;
  background: var(--tm-surface-3);
}

.tm-estimator-page .tm-quick-quotes__summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
}

.tm-estimator-page .tm-quick-quotes__summary::-webkit-details-marker{
  display: none;
}

.tm-estimator-page .tm-quick-quotes__eyebrow{
  color: var(--tm-text-soft);
  font-size: .8rem;
  text-transform: none;
}

.tm-estimator-page .tm-quick-quotes__list{
  padding: 0 12px 12px;
  border-top: 1px solid var(--tm-border);
}

.tm-estimator-page .pricing-controls{
  padding: 16px;
  border-color: var(--tm-border);
  background: var(--tm-surface-3);
  box-shadow: none;
}

.tm-estimator-page .pricing-controls__head{
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--tm-border);
}

.tm-estimator-page .pricing-controls__title{
  color: var(--tm-text);
  font-size: 1rem;
}

.tm-estimator-page .pricing-controls__hint,
.tm-estimator-page .pricing-controls .recalc-note,
.tm-estimator-page .labor-help .tm-hint{
  color: var(--tm-text-muted);
}

.tm-estimator-page .tm-estimate-action-panel--simple{
  grid-template-columns: minmax(0, 1fr) auto;
  border-color: rgba(249, 115, 22, .30);
  background: linear-gradient(180deg, rgba(249,115,22,.08), rgba(249,115,22,.03));
}

.tm-estimator-page .tm-estimate-action-panel__heading{
  color: var(--tm-text);
  font-weight: 900;
}

.tm-estimator-page .tm-estimate-action-panel__text{
  color: var(--tm-text-muted);
  font-size: .84rem;
}

.tm-estimator-page .tm-estimator-review-section{
  margin-top: 20px;
  padding: 18px;
  border: 1px solid var(--tm-border);
  border-radius: 16px;
  background: linear-gradient(180deg, var(--tm-surface) 0%, var(--tm-surface-3) 100%);
}

.tm-estimator-page .tm-estimator-review-section__head{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--tm-border);
}

.tm-estimator-page .tm-estimator-review-section__head h2{
  margin: 0;
}

.tm-estimator-page .tm-estimator-review-section__head p{
  max-width: 48ch;
  margin: 0;
  color: var(--tm-text-muted);
  font-size: .86rem;
  line-height: 1.45;
  text-align: right;
}

.tm-estimator-page .tm-estimator-review-section__eyebrow{
  margin-bottom: 4px;
  color: var(--tm-orange-light);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.tm-estimator-page .tm-quote-note{
  margin-top: 0;
  border-color: rgba(249,115,22,.24);
  background: rgba(249,115,22,.06);
}

.tm-estimator-page .tm-saved-estimates-drawer{
  padding: 0;
  overflow: hidden;
}

.tm-estimator-page .tm-saved-estimates-drawer > summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 64px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.tm-estimator-page .tm-saved-estimates-drawer > summary::-webkit-details-marker{
  display: none;
}

.tm-estimator-page .tm-saved-estimates-drawer > summary strong{
  display: block;
  margin-top: 2px;
  color: var(--tm-text);
  font-size: 1rem;
}

.tm-estimator-page .tm-saved-estimates-drawer > summary small{
  color: var(--tm-text-muted);
  font-size: .78rem;
}

.tm-estimator-page .tm-saved-estimates-drawer > summary::after{
  content: "+";
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border: 1px solid var(--tm-border);
  border-radius: 999px;
  color: var(--tm-orange-light);
  font-size: 1rem;
  font-weight: 900;
}

.tm-estimator-page .tm-saved-estimates-drawer[open] > summary::after{
  content: "−";
}

.tm-estimator-page .tm-saved-estimates-drawer__body{
  padding: 0 16px 16px;
  border-top: 1px solid var(--tm-border);
}

.tm-estimator-page .estimator-final-actions{
  border-color: rgba(249,115,22,.30);
  border-left-color: var(--tm-orange);
  background: linear-gradient(180deg, rgba(249,115,22,.08), rgba(249,115,22,.03));
}

.tm-estimator-page .estimator-final-step{
  border-color: rgba(249,115,22,.30);
  background: rgba(249,115,22,.12);
  color: var(--tm-orange-light);
}

@media (max-width: 900px){
  .tm-estimator-page .tm-estimator-sticky-summary{
    position: static;
    grid-template-columns: 1fr 1fr;
  }

  .tm-estimator-page .tm-estimator-sticky-summary__action{
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 700px){
  .tm-estimator-page .tm-estimator-quickstart{
    position: static;
  }

  .tm-estimator-page .tm-estimator-quickstart__steps{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tm-estimator-page .tm-estimator-sticky-summary{
    grid-template-columns: 1fr;
    padding: 9px;
  }

  .tm-estimator-page .tm-estimator-review-section{
    padding: 14px;
  }

  .tm-estimator-page .tm-estimator-review-section__head{
    display: block;
  }

  .tm-estimator-page .tm-estimator-review-section__head p{
    margin-top: 8px;
    text-align: left;
  }

  .tm-estimator-page .tm-estimate-action-panel--simple{
    grid-template-columns: 1fr;
  }

  .tm-estimator-page .tm-saved-estimates-drawer > summary{
    align-items: flex-start;
  }

  .tm-estimator-page .tm-saved-estimates-drawer > summary small{
    display: none;
  }
}

/* =========================================================
   USER-SELECTABLE APPEARANCE
   Dark remains the production default; light swaps shared tokens.
   ========================================================= */

html[data-theme-effective="light"]{
  color-scheme: light;

  --tm-bg: #eef3f8;
  --tm-bg-deep: #e6edf5;
  --tm-surface: #ffffff;
  --tm-surface-2: #f8fafc;
  --tm-surface-3: #eef3f8;
  --tm-border: rgba(15, 23, 42, 0.14);
  --tm-border-strong: rgba(15, 23, 42, 0.22);
  --tm-text: #0f172a;
  --tm-text-soft: #1f2937;
  --tm-text-muted: #64748b;
  --tm-field-bg: #ffffff;
  --tm-field-text: #0f172a;
  --tm-field-placeholder: #64748b;
  --tm-field-border: #cbd5e1;

  --tm-app-panel: #ffffff;
  --tm-app-panel-deep: #eef3f8;
  --tm-app-panel-inner: #ffffff;
  --tm-app-panel-inner-2: #f8fafc;
  --tm-app-border: rgba(15, 23, 42, .14);
  --tm-app-border-strong: rgba(15, 23, 42, .22);
  --tm-app-heading: #0f172a;
  --tm-app-text: #1f2937;
  --tm-app-muted: #64748b;
  --tm-app-helper: #64748b;
  --tm-text-primary: #0f172a;
  --tm-text-secondary: #334155;
  --tm-text-muted-strong: #475569;
  --tm-text-on-dark: #f8fafc;
  --tm-text-muted-on-dark: #dbe6f4;
  --tm-text-helper-on-dark: #a9b6c8;
  --tm-surface-card: #ffffff;
  --tm-surface-dark-card: #0b1728;
}

html[data-theme-effective="light"] body{
  background-color: var(--tm-bg-deep) !important;
  background-image:
    linear-gradient(rgba(148, 163, 184, 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.12) 1px, transparent 1px),
    linear-gradient(180deg, #f8fafc 0%, #e6edf5 100%) !important;
  color: var(--tm-text-soft) !important;
}

html[data-theme-effective="light"] body::before{
  opacity: .35;
}

html[data-theme-effective="light"] .tm-nav{
  background: rgba(255, 255, 255, .92) !important;
  border-bottom-color: var(--tm-border) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .08) !important;
}

html[data-theme-effective="light"] .tm-footer{
  background: rgba(248, 250, 252, .95) !important;
  border-top-color: var(--tm-border) !important;
}

html[data-theme-effective="light"] .tm-menuBtn,
html[data-theme-effective="light"] .menu-btn,
html[data-theme-effective="light"] .tm-notificationBtn,
html[data-theme-effective="light"] .tm-menu__panel,
html[data-theme-effective="light"] .tm-notificationPanel{
  background: #ffffff !important;
  border-color: var(--tm-border) !important;
  color: var(--tm-text) !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .10) !important;
}

html[data-theme-effective="light"] .tm-menu__item,
html[data-theme-effective="light"] .tm-menu__disclosure,
html[data-theme-effective="light"] .tm-footer-brand,
html[data-theme-effective="light"] .tm-footer-links a,
html[data-theme-effective="light"] .tm-footer-support{
  color: var(--tm-text-muted) !important;
}

html[data-theme-effective="light"] .tm-brand__torque,
html[data-theme-effective="light"] h1,
html[data-theme-effective="light"] h2,
html[data-theme-effective="light"] h3,
html[data-theme-effective="light"] h4,
html[data-theme-effective="light"] .tm-page-title,
html[data-theme-effective="light"] .tm-pro-title,
html[data-theme-effective="light"] .tm-crm-name{
  color: var(--tm-text) !important;
  -webkit-text-fill-color: var(--tm-text) !important;
}

html[data-theme-effective="light"] p,
html[data-theme-effective="light"] li,
html[data-theme-effective="light"] label,
html[data-theme-effective="light"] .tm-muted,
html[data-theme-effective="light"] .tm-subtle,
html[data-theme-effective="light"] .tm-pageLead,
html[data-theme-effective="light"] .tm-subtitle,
html[data-theme-effective="light"] .tm-lead{
  color: var(--tm-text-muted) !important;
  -webkit-text-fill-color: var(--tm-text-muted) !important;
}

html[data-theme-effective="light"] .tm-hero,
html[data-theme-effective="light"] .tm-card,
html[data-theme-effective="light"] .card,
html[data-theme-effective="light"] .tm-panel,
html[data-theme-effective="light"] .tm-linked-card,
html[data-theme-effective="light"] .tm-section-card,
html[data-theme-effective="light"] .tm-auth-panel,
html[data-theme-effective="light"] .tm-account-section,
html[data-theme-effective="light"] .tm-book-header,
html[data-theme-effective="light"] .tm-book-panel,
html[data-theme-effective="light"] .tm-pro-pagehead,
html[data-theme-effective="light"] .tm-pro-panel,
html[data-theme-effective="light"] .tm-dashboard-section,
html[data-theme-effective="light"] .tm-crm-toolbar,
html[data-theme-effective="light"] .tm-crm-add,
html[data-theme-effective="light"] .tm-crm-card,
html[data-theme-effective="light"] .tm-crm-panel,
html[data-theme-effective="light"] .tm-crm-empty,
html[data-theme-effective="light"] .tm-shop-settings-panel,
html[data-theme-effective="light"] .tm-schedule-panel,
html[data-theme-effective="light"] .tm-message-template-card,
html[data-theme-effective="light"] .tm-message-preview,
html[data-theme-effective="light"] .tm-workflow-help,
html[data-theme-effective="light"] .diag-workflow-card,
html[data-theme-effective="light"] .tm-workflow-entry-card,
html[data-theme-effective="light"] .tm-intel-card,
html[data-theme-effective="light"] .tm-guide-card,
html[data-theme-effective="light"] .tm-repair-card,
html[data-theme-effective="light"] .tm-service-card,
html[data-theme-effective="light"] .tm-empty,
html[data-theme-effective="light"] .empty-state,
html[data-theme-effective="light"] table{
  border-color: var(--tm-app-border) !important;
  background: #ffffff !important;
  color: var(--tm-app-text) !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .08) !important;
}

html[data-theme-effective="light"] .tm-account-readonly,
html[data-theme-effective="light"] .tm-crm-row,
html[data-theme-effective="light"] tbody tr,
html[data-theme-effective="light"] thead th{
  border-color: rgba(15, 23, 42, .12) !important;
  background: #f8fafc !important;
  color: #0f172a !important;
}

html[data-theme-effective="light"] .tm-btn-secondary,
html[data-theme-effective="light"] .btn-secondary,
html[data-theme-effective="light"] .tm-btn-ghost,
html[data-theme-effective="light"] .tm-account-secondary{
  border-color: var(--tm-border) !important;
  background: #ffffff !important;
  color: #0f172a !important;
}

html[data-theme-effective="light"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([type="color"]):not([type="range"]),
html[data-theme-effective="light"] select,
html[data-theme-effective="light"] textarea,
html[data-theme-effective="light"] .tm-input{
  background: #ffffff !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  border-color: #cbd5e1 !important;
}

/* Light-mode guardrails for authenticated Pro pages with page-local dark polish. */
html[data-theme-effective="light"] body .tm-pro-shell,
html[data-theme-effective="light"] body .tm-account-page{
  color: var(--tm-app-text) !important;
}

html[data-theme-effective="light"] body .tm-pro-shell .tm-pro-header,
html[data-theme-effective="light"] body .tm-pro-shell .tm-pro-pagehead.is-hero,
html[data-theme-effective="light"] body .tm-pro-shell .tm-customer-hero,
html[data-theme-effective="light"] body .tm-pro-shell .tm-vehicle-hero{
  background:
    radial-gradient(circle at top left, rgba(249, 115, 22, .18), transparent 34%),
    linear-gradient(135deg, #101827 0%, #132235 55%, #0f172a 100%) !important;
  border-color: rgba(255, 255, 255, .12) !important;
  color: #f8fafc !important;
}

html[data-theme-effective="light"] body .tm-pro-shell .tm-pro-header .tm-pro-title,
html[data-theme-effective="light"] body .tm-pro-shell .tm-pro-header .tm-pro-eyebrow,
html[data-theme-effective="light"] body .tm-pro-shell .tm-pro-pagehead.is-hero .tm-pro-title,
html[data-theme-effective="light"] body .tm-pro-shell .tm-customer-hero h1,
html[data-theme-effective="light"] body .tm-pro-shell .tm-vehicle-hero h1{
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
}

html[data-theme-effective="light"] body .tm-pro-shell .tm-pro-header .tm-pro-subtitle,
html[data-theme-effective="light"] body .tm-pro-shell .tm-pro-pagehead.is-hero p,
html[data-theme-effective="light"] body .tm-pro-shell .tm-customer-hero p,
html[data-theme-effective="light"] body .tm-pro-shell .tm-vehicle-hero p{
  color: #dbeafe !important;
  -webkit-text-fill-color: #dbeafe !important;
}

html[data-theme-effective="light"] body .tm-pro-shell .tm-quick-actions,
html[data-theme-effective="light"] body .tm-pro-shell .tm-dashboard-section,
html[data-theme-effective="light"] body .tm-pro-shell .tm-pro-welcome,
html[data-theme-effective="light"] body .tm-pro-shell .tm-pro-card,
html[data-theme-effective="light"] body .tm-pro-shell .tm-work-group,
html[data-theme-effective="light"] body .tm-pro-shell .tm-work-card,
html[data-theme-effective="light"] body .tm-pro-shell .tm-workflow-card,
html[data-theme-effective="light"] body .tm-pro-shell .tm-finding-card,
html[data-theme-effective="light"] body .tm-pro-shell .tm-approval-card,
html[data-theme-effective="light"] body .tm-pro-shell .tm-invoice-card,
html[data-theme-effective="light"] body .tm-pro-shell .tm-calendar-card,
html[data-theme-effective="light"] body .tm-pro-shell .tm-settings-card,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-card,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-panel,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-toolbar,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-empty{
  background: #ffffff !important;
  border-color: var(--tm-app-border) !important;
  color: var(--tm-app-text) !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .08) !important;
}

html[data-theme-effective="light"] body .tm-pro-shell .tm-quick-actions h2,
html[data-theme-effective="light"] body .tm-pro-shell .tm-dashboard-section h2,
html[data-theme-effective="light"] body .tm-pro-shell .tm-dashboard-section h3,
html[data-theme-effective="light"] body .tm-pro-shell .tm-pro-card h2,
html[data-theme-effective="light"] body .tm-pro-shell .tm-pro-card h3,
html[data-theme-effective="light"] body .tm-pro-shell .tm-work-group h2,
html[data-theme-effective="light"] body .tm-pro-shell .tm-work-group h3,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-card .tm-crm-name,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-card strong,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-panel h2,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-panel h3{
  color: var(--tm-app-heading) !important;
  -webkit-text-fill-color: var(--tm-app-heading) !important;
}

html[data-theme-effective="light"] body .tm-pro-shell .tm-dashboard-section p,
html[data-theme-effective="light"] body .tm-pro-shell .tm-pro-card p,
html[data-theme-effective="light"] body .tm-pro-shell .tm-work-group p,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-meta,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-card p,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-card .tm-crm-phone,
html[data-theme-effective="light"] body .tm-pro-shell .tm-muted,
html[data-theme-effective="light"] body .tm-pro-shell [style*="color:#475569"],
html[data-theme-effective="light"] body .tm-pro-shell [style*="color: #475569"],
html[data-theme-effective="light"] body .tm-pro-shell [style*="color:#64748b"],
html[data-theme-effective="light"] body .tm-pro-shell [style*="color: #64748b"]{
  color: var(--tm-app-muted) !important;
  -webkit-text-fill-color: var(--tm-app-muted) !important;
}

html[data-theme-effective="light"] body .tm-pro-shell .tm-dashboard-action,
html[data-theme-effective="light"] body .tm-pro-shell .tm-quick-link,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-action,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-filter,
html[data-theme-effective="light"] body .tm-pro-shell .tm-tab,
html[data-theme-effective="light"] body .tm-pro-shell .tm-chip{
  background: #f8fafc !important;
  border-color: var(--tm-app-border) !important;
  color: var(--tm-app-heading) !important;
}

html[data-theme-effective="light"] body .tm-pro-shell .tm-dashboard-action:hover,
html[data-theme-effective="light"] body .tm-pro-shell .tm-dashboard-action:focus-visible,
html[data-theme-effective="light"] body .tm-pro-shell .tm-quick-link:hover,
html[data-theme-effective="light"] body .tm-pro-shell .tm-quick-link:focus-visible,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-action:hover,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-action:focus-visible{
  background: rgba(249, 115, 22, .12) !important;
  border-color: rgba(249, 115, 22, .45) !important;
  color: #9a3412 !important;
}

html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-card .tm-crm-phone{
  color: var(--tm-text-secondary) !important;
  -webkit-text-fill-color: var(--tm-text-secondary) !important;
  font-weight: 850;
}

html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-card .tm-crm-meta{
  color: var(--tm-text-muted-strong) !important;
  -webkit-text-fill-color: var(--tm-text-muted-strong) !important;
}

html[data-theme-effective="light"] body .tm-calendar-shell{
  --tm-calendar-panel: #111c2d;
  --tm-calendar-panel-2: #0d1828;
  --tm-calendar-card: var(--tm-surface-dark-card);
  --tm-calendar-card-2: #132136;
  --tm-calendar-border: rgba(148, 163, 184, .24);
  --tm-calendar-border-strong: rgba(249, 115, 22, .46);
  --tm-calendar-heading: var(--tm-text-on-dark);
  --tm-calendar-text: var(--tm-text-muted-on-dark);
  --tm-calendar-muted: var(--tm-text-helper-on-dark);
  --tm-calendar-helper: #93a6bd;
}

html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel{
  background:
    linear-gradient(
      145deg,
      var(--tm-calendar-panel),
      var(--tm-calendar-panel-2)
    ) !important;
  border-color: var(--tm-calendar-border) !important;
  color: var(--tm-calendar-text) !important;
  box-shadow:
    0 18px 40px rgba(15, 23, 42, .16),
    inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}

html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel .tm-crm-kicker,
html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel h2,
html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel summary,
html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel label{
  color: var(--tm-calendar-heading) !important;
  -webkit-text-fill-color: var(--tm-calendar-heading) !important;
}

html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel p,
html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel .tm-muted,
html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel .tm-hint,
html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel .tm-field-helper{
  color: var(--tm-calendar-muted) !important;
  -webkit-text-fill-color: var(--tm-calendar-muted) !important;
}

html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel input[readonly]{
  background: rgba(15, 23, 42, .86) !important;
  border-color: rgba(148, 163, 184, .34) !important;
  color: var(--tm-calendar-heading) !important;
  -webkit-text-fill-color: var(--tm-calendar-heading) !important;
}

html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel .tm-btn-secondary{
  background: rgba(255, 255, 255, .06) !important;
  border-color: rgba(255, 255, 255, .18) !important;
  color: var(--tm-calendar-heading) !important;
}

html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel .tm-btn-secondary:hover,
html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel .tm-btn-secondary:focus-visible{
  background: rgba(249, 115, 22, .14) !important;
  border-color: var(--tm-calendar-border-strong) !important;
  color: #fed7aa !important;
}

html[data-theme-effective="light"] body .tm-calendar-shell .tm-booking-link-panel details{
  background: rgba(255, 255, 255, .04) !important;
  border-color: rgba(148, 163, 184, .20) !important;
  color: var(--tm-calendar-text) !important;
}

@media (max-width: 680px){
  html body .tm-account-page{
    overflow-x: clip;
  }

  html body .tm-account-shell,
  html body .tm-account-layout,
  html body .tm-account-main{
    max-width: 100%;
    min-width: 0;
  }

  html body .tm-account-nav{
    display: none !important;
  }
}

@media (max-width: 640px){
  body.tm-estimator-page #confirmModal.modal{
    place-items: center;
    padding: 10px;
  }

  body.tm-estimator-page #confirmModal .tm-confirm-modal{
    width: min(100%, calc(100vw - 20px));
    max-height: calc(100vh - 20px);
    max-height: calc(100dvh - 20px);
    border-radius: 16px;
  }
}

/* Phase 2 appearance guardrails for page-specific surfaces outside the Pro shell. */
html[data-theme-effective="light"] body.tm-auth-page,
html[data-theme-effective="light"] body.tm-book-page,
html[data-theme-effective="light"] body.tm-quick-find-page,
html[data-theme-effective="light"] body.tm-parts-page,
html[data-theme-effective="light"] body.tm-public-estimate-page,
html[data-theme-effective="light"] body.tm-public-estimate-unavailable-page,
html[data-theme-effective="light"] body:not(.tm-public-estimate-page):not(.tm-public-estimate-unavailable-page){
  background: var(--tm-bg-light) !important;
  color: var(--tm-text-primary) !important;
}

html[data-theme-effective="light"] body .tm-auth-panel,
html[data-theme-effective="light"] body .tm-auth-card,
html[data-theme-effective="light"] body .tm-book-panel,
html[data-theme-effective="light"] body .tm-book-header,
html[data-theme-effective="light"] body .tm-booking-card,
html[data-theme-effective="light"] body .tm-quick-find-panel,
html[data-theme-effective="light"] body .tm-quick-find-card,
html[data-theme-effective="light"] body .tm-parts-panel,
html[data-theme-effective="light"] body .tm-parts-card,
html[data-theme-effective="light"] body .tm-guide-panel,
html[data-theme-effective="light"] body .tm-guide-card,
html[data-theme-effective="light"] body .tm-repair-guide-card,
html[data-theme-effective="light"] body .tm-cost-card,
html[data-theme-effective="light"] body .tm-knowledge-card,
html[data-theme-effective="light"] body .tm-obd-card,
html[data-theme-effective="light"] body .tm-diagnostic-card,
html[data-theme-effective="light"] body .tm-public-estimate-panel,
html[data-theme-effective="light"] body .tm-public-decision-card,
html[data-theme-effective="light"] body .tm-public-estimate-price-card,
html[data-theme-effective="light"] body .tm-public-estimate-note,
html[data-theme-effective="light"] body .tm-feedback-reminder,
html[data-theme-effective="light"] body .tm-modal__panel{
  background: #ffffff !important;
  border-color: rgba(15, 23, 42, .12) !important;
  color: var(--tm-text-primary) !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .08) !important;
}

html[data-theme-effective="light"] body .tm-public-estimate-header{
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .96), rgba(30, 41, 59, .94)) !important;
  border-color: rgba(15, 23, 42, .24) !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .16) !important;
}

html[data-theme-effective="light"] body .tm-auth-panel h1,
html[data-theme-effective="light"] body .tm-auth-card h1,
html[data-theme-effective="light"] body .tm-book-panel h1,
html[data-theme-effective="light"] body .tm-book-panel h2,
html[data-theme-effective="light"] body .tm-book-header h1,
html[data-theme-effective="light"] body .tm-quick-find-panel h1,
html[data-theme-effective="light"] body .tm-quick-find-panel h2,
html[data-theme-effective="light"] body .tm-parts-panel h1,
html[data-theme-effective="light"] body .tm-parts-panel h2,
html[data-theme-effective="light"] body .tm-guide-panel h1,
html[data-theme-effective="light"] body .tm-guide-card h2,
html[data-theme-effective="light"] body .tm-repair-guide-card h2,
html[data-theme-effective="light"] body .tm-cost-card h2,
html[data-theme-effective="light"] body .tm-knowledge-card h2,
html[data-theme-effective="light"] body .tm-obd-card h2,
html[data-theme-effective="light"] body .tm-diagnostic-card h2,
html[data-theme-effective="light"] body .tm-public-estimate-panel h1,
html[data-theme-effective="light"] body .tm-public-estimate-panel h2,
html[data-theme-effective="light"] body .tm-public-estimate-panel h3,
html[data-theme-effective="light"] body .tm-modal__panel h2{
  color: var(--tm-text-primary) !important;
  -webkit-text-fill-color: var(--tm-text-primary) !important;
}

html[data-theme-effective="light"] body .tm-auth-panel p,
html[data-theme-effective="light"] body .tm-auth-card p,
html[data-theme-effective="light"] body .tm-book-panel p,
html[data-theme-effective="light"] body .tm-book-header p,
html[data-theme-effective="light"] body .tm-quick-find-panel p,
html[data-theme-effective="light"] body .tm-parts-panel p,
html[data-theme-effective="light"] body .tm-guide-panel p,
html[data-theme-effective="light"] body .tm-guide-card p,
html[data-theme-effective="light"] body .tm-repair-guide-card p,
html[data-theme-effective="light"] body .tm-cost-card p,
html[data-theme-effective="light"] body .tm-knowledge-card p,
html[data-theme-effective="light"] body .tm-obd-card p,
html[data-theme-effective="light"] body .tm-diagnostic-card p,
html[data-theme-effective="light"] body .tm-public-estimate-panel p,
html[data-theme-effective="light"] body .tm-public-estimate-copy,
html[data-theme-effective="light"] body .tm-modal__panel p{
  color: var(--tm-text-secondary) !important;
  -webkit-text-fill-color: var(--tm-text-secondary) !important;
}

html[data-theme-effective="light"] body .tm-public-estimate-field span,
html[data-theme-effective="light"] body .tm-public-estimate-price-field span,
html[data-theme-effective="light"] body .tm-kicker,
html[data-theme-effective="light"] body .tm-eyebrow,
html[data-theme-effective="light"] body .tm-meta{
  color: var(--tm-text-muted-strong) !important;
  -webkit-text-fill-color: var(--tm-text-muted-strong) !important;
}

html[data-theme-effective="light"] body .tm-public-estimate-field strong,
html[data-theme-effective="light"] body .tm-public-estimate-price-field strong,
html[data-theme-effective="light"] body .tm-public-estimate-total strong{
  color: var(--tm-text-primary) !important;
  -webkit-text-fill-color: var(--tm-text-primary) !important;
}

html[data-theme-effective="light"] body table,
html[data-theme-effective="light"] body .tm-table,
html[data-theme-effective="light"] body .tm-data-table{
  background: #ffffff !important;
  color: var(--tm-text-primary) !important;
  border-color: rgba(15, 23, 42, .12) !important;
}

html[data-theme-effective="light"] body thead,
html[data-theme-effective="light"] body th{
  background: #f1f5f9 !important;
  color: var(--tm-text-muted-strong) !important;
  border-color: rgba(15, 23, 42, .12) !important;
}

html[data-theme-effective="light"] body td,
html[data-theme-effective="light"] body tr{
  border-color: rgba(15, 23, 42, .10) !important;
}

html[data-theme-effective="light"] body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="file"]):not([type="color"]):not([type="range"]),
html[data-theme-effective="light"] body select,
html[data-theme-effective="light"] body textarea{
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: var(--tm-text-primary) !important;
  -webkit-text-fill-color: var(--tm-text-primary) !important;
}

html[data-theme-effective="light"] body input::placeholder,
html[data-theme-effective="light"] body textarea::placeholder{
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
}

/* Phase 2 Pro-shell light-mode corrections for legacy disclosure bars. */
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-vehicle-summary,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-panel,
html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-disclosure > summary,
html[data-theme-effective="light"] body .tm-pro-shell .tm-workspace-section-summary,
html[data-theme-effective="light"] body .tm-pro-shell .tm-repair-work-section,
html[data-theme-effective="light"] body .tm-pro-shell .tm-repair-work-convert,
html[data-theme-effective="light"] body .tm-pro-shell .tm-repair-work-item,
html[data-theme-effective="light"] body .tm-pro-shell .tm-approval-item,
html[data-theme-effective="light"] body .tm-pro-shell .tm-history-item,
html[data-theme-effective="light"] body .tm-pro-shell .tm-calendar-panel,
html[data-theme-effective="light"] body .tm-pro-shell .tm-dashboard-card,
html[data-theme-effective="light"] body .tm-pro-shell .tm-dashboard-panel,
html[data-theme-effective="light"] body .tm-pro-shell .tm-dashboard-section,
html[data-theme-effective="light"] body .tm-pro-shell .tm-dashboard-section summary{
  background: #ffffff !important;
  border-color: rgba(15, 23, 42, .12) !important;
  color: var(--tm-text-primary) !important;
  -webkit-text-fill-color: var(--tm-text-primary) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .07) !important;
}

html[data-theme-effective="light"] body .tm-pro-shell .tm-crm-kicker,
html[data-theme-effective="light"] body .tm-pro-shell .tm-workspace-section-count{
  color: var(--tm-accent) !important;
  -webkit-text-fill-color: var(--tm-accent) !important;
}

/* ==========================================================
   TorqueMech Global Mobile Footer Fix
   iPhone / narrow mobile layouts
   ========================================================== */

@media (max-width: 400px) {
  .tm-footer {
    padding: 16px 0 18px;
  }

  .tm-footer-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    min-height: 0;
  }

  .tm-footer-left {
    justify-content: flex-start;
  }

  .tm-footer-links {
    justify-content: flex-start;
    gap: 16px;
  }

  .tm-footer-right {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    flex-wrap: wrap;
    width: 100%;
  }

  .tm-footer-support {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
    min-width: 0;
  }

  .tm-support-email {
    white-space: nowrap;
    font-size: 13px;
  }

  .tm-footer #feedbackBtn {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 4px 14px;
    margin: 0;
  }
}

/* ==========================================================
   CUSTOMERS — DESKTOP CARD SPACING FIX
   ========================================================== */

@media (min-width: 900px) {
  .tm-pro-shell .tm-crm-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .tm-pro-shell .tm-crm-cards .tm-crm-card {
    min-width: 0;
    min-height: 140px;
    padding: 18px !important;
  }

  .tm-pro-shell .tm-crm-card__top {
    gap: 16px;
  }
}

/* ==========================================================
   NOTIFICATIONS — LIGHT MODE CONTRAST FIX
   ========================================================== */

html[data-theme-effective="light"] .tm-notificationItem {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

html[data-theme-effective="light"] .tm-notificationItem--approved {
  border-left-color: #16a34a !important;
}

html[data-theme-effective="light"] .tm-notificationItem--declined {
  border-left-color: #dc2626 !important;
}

html[data-theme-effective="light"] .tm-notificationItem--deferred {
  border-left-color: #d97706 !important;
}

html[data-theme-effective="light"] .tm-notificationItem__label {
  background: #ffedd5 !important;
  color: #9a3412 !important;
  border: 1px solid #fdba74 !important;
}

html[data-theme-effective="light"] .tm-notificationItem h3 {
  color: #0f172a !important;
}

html[data-theme-effective="light"] .tm-notificationItem p,
html[data-theme-effective="light"] .tm-notificationItem time {
  color: #475569 !important;
}

html[data-theme-effective="light"] .tm-notificationItem__ready {
  color: #15803d !important;
}

html[data-theme-effective="light"] .tm-notificationItem__action {
  background: #fff7ed !important;
  border-color: #f97316 !important;
  color: #9a3412 !important;
}

html[data-theme-effective="light"] .tm-notificationItem__action:hover,
html[data-theme-effective="light"] .tm-notificationItem__action:focus-visible {
  background: #ffedd5 !important;
  color: #7c2d12 !important;
}

html[data-theme-effective="light"] .tm-notificationItem__action--primary {
  background: #f97316 !important;
  border-color: #f97316 !important;
  color: #111827 !important;
}

html[data-theme-effective="light"] .tm-notificationItem__action--primary:hover,
html[data-theme-effective="light"] .tm-notificationItem__action--primary:focus-visible {
  background: #ea580c !important;
  color: #ffffff !important;
}

html[data-theme-effective="light"] .tm-notificationItem__trashAction {
  background: #fef2f2 !important;
  border-color: #fca5a5 !important;
  color: #dc2626 !important;
}

html[data-theme-effective="light"] .tm-notificationItem__trashAction:hover,
html[data-theme-effective="light"] .tm-notificationItem__trashAction:focus-visible {
  background: #fee2e2 !important;
  border-color: #ef4444 !important;
  color: #b91c1c !important;
}

html[data-theme-effective="light"] .tm-notificationPanel__head span {
  color: #475569 !important;
}

/* Global Search */
.tm-globalSearch{
  position:relative;
  margin-left:auto;
  margin-right:10px;
}

.tm-globalSearch__button{
  width:42px;
  height:42px;
  border:1px solid var(--tm-border);
  border-radius:var(--tm-radius-md);
  background:var(--tm-surface);
  color:var(--tm-text);
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  box-shadow:var(--tm-shadow-sm);
  font-size:18px;
}

.tm-globalSearch__button:hover,
.tm-globalSearch__button:focus-visible,
.tm-globalSearch__button[aria-expanded="true"]{
  border-color:var(--tm-border-strong);
  background:var(--tm-surface-2);
  outline:none;
}

.tm-globalSearchPanel[hidden]{
  display:none !important;
}

.tm-globalSearchPanel{
  position:absolute;
  top:calc(100% + 10px);
  right:76px;
  z-index:1100;
  width:min(620px, calc(100vw - 32px));
}

.tm-globalSearchPanel__inner{
  background:#0b1728;
  border:1px solid var(--tm-border);
  border-radius:16px;
  box-shadow:0 20px 50px rgba(0,0,0,.38);
  overflow:hidden;
}

.tm-globalSearchPanel__top{
  padding:14px;
  border-bottom:1px solid var(--tm-border);
}

.tm-globalSearchPanel__field{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:0 12px;
  background:var(--tm-surface);
  border:1px solid var(--tm-border);
  border-radius:12px;
}

.tm-globalSearchPanel__icon{
  flex:0 0 auto;
  font-size:17px;
}

.tm-globalSearchPanel__input{
  flex:1;
  min-width:0;
  height:46px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--tm-text);
  font:inherit;
  font-size:15px;
}

.tm-globalSearchPanel__input::placeholder{
  color:var(--tm-text-muted);
}

.tm-globalSearchPanel__close{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--tm-text-muted);
  cursor:pointer;
  font-size:24px;
  line-height:1;
}

.tm-globalSearchPanel__close:hover,
.tm-globalSearchPanel__close:focus-visible{
  background:var(--tm-surface-2);
  color:var(--tm-text);
  outline:none;
}

.tm-globalSearchPanel__results{
  max-height:min(520px, 65vh);
  overflow-y:auto;
}

.tm-globalSearchPanel__hint{
  padding:18px;
  color:var(--tm-text-muted);
  font-size:14px;
  line-height:1.5;
}

@media (max-width: 640px){
  .tm-globalSearch{
    margin-right:8px;
  }

  .tm-globalSearchPanel{
    position:fixed;
    top:72px;
    left:12px;
    right:12px;
    width:auto;
  }

  .tm-globalSearchPanel__top{
    padding:10px;
  }

  .tm-globalSearchPanel__results{
    max-height:calc(100vh - 160px);
  }
}

.tm-globalSearchGroup{
  padding:10px 12px 12px;
}

.tm-globalSearchGroup + .tm-globalSearchGroup{
  border-top:1px solid var(--tm-border);
}

.tm-globalSearchGroup__title{
  margin-bottom:7px;
  color:var(--tm-text-muted);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.tm-globalSearchGroup__items{
  display:grid;
  gap:6px;
}

.tm-globalSearchResult{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:10px 11px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--tm-text);
}

.tm-globalSearchResult:hover,
.tm-globalSearchResult:focus-visible{
  border-color:var(--tm-border-strong);
  background:rgba(96,165,250,.08);
  outline:none;
}

.tm-globalSearchResult__main{
  min-width:0;
}

.tm-globalSearchResult__title{
  color:var(--tm-text);
  font-size:.92rem;
  font-weight:900;
  line-height:1.25;
}

.tm-globalSearchResult__subtitle{
  margin-top:3px;
  color:var(--tm-text-muted);
  font-size:.78rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.tm-globalSearchResult__status{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border:1px solid var(--tm-border);
  border-radius:999px;
  background:rgba(148,163,184,.10);
  color:var(--tm-text-muted);
  font-size:.68rem;
  font-weight:900;
  text-transform:capitalize;
}

@media (max-width:640px){
  .tm-globalSearchGroup{
    padding:9px 10px 11px;
  }

  .tm-globalSearchResult{
    align-items:flex-start;
    padding:10px;
  }

  .tm-globalSearchResult__status{
    margin-top:1px;
  }
}

/* =========================================================
   Estimator — final Light Appearance corrections
   Must remain at the bottom of style.css
========================================================= */

html[data-theme-effective="light"] body.tm-estimator-page {
  --tm-text: #0f172a;
  --tm-text-muted: #64748b;
  --tm-est-field-bg: #ffffff;
  --tm-est-field-text: #0f172a;
  --tm-est-field-placeholder: #64748b;
  --tm-est-field-border: #cbd5e1;
}

/* Navigation logo */
html[data-theme-effective="light"]
body.tm-estimator-page
.tm-brand__torque {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-brand__mech {
  color: #f97316 !important;
  -webkit-text-fill-color: #f97316 !important;
}

/* Generated service card */
html[data-theme-effective="light"]
body.tm-estimator-page
.tm-guided-estimator
.tm-service-title {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-guided-estimator
.tm-service-vehicle {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-guided-estimator
.tm-service-estimate {
  border-color: #cbd5e1 !important;
  background: #f8fafc !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-guided-estimator
.tm-service-estimate-label {
  color: #c2410c !important;
  -webkit-text-fill-color: #c2410c !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-guided-estimator
.tm-service-estimate strong {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-guided-estimator
.tm-service-meta strong {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-guided-estimator
.tm-service-meta em {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-guided-estimator
.tm-inspection-findings span {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

/* Quote Preview */
html[data-theme-effective="light"]
body.tm-estimator-page
.preview-value {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.preview-sub {
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
}

/* Clear Quote button */
html[data-theme-effective="light"]
body.tm-estimator-page
.section-header--vehicles
.tm-vehicle-cta-group {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  align-self: center !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.section-header--vehicles
.tm-vehicle-cta-group
.clear-fields-btn {
  flex: none !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: auto !important;
  padding: 8px 14px !important;
}

/* Estimator footer */
html[data-theme-effective="light"]
body.tm-estimator-page
.tm-footer {
  background: #f8fafc !important;
  color: #475569 !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-footer
.tm-footer-brand,

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-footer
.tm-footer-links a,

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-footer
.tm-footer-support,

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-footer
.tm-footer-support > span {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-footer
.tm-support-email {
  color: #ea580c !important;
  -webkit-text-fill-color: #ea580c !important;
}
/* Estimator navigation buttons — Light Appearance */
html[data-theme-effective="light"]
body.tm-estimator-page
.tm-guided-estimator
.tm-finding-estimator-nav
a.tm-btn.tm-btn-secondary {
  display: inline-flex !important;
  width: auto !important;
  min-height: 44px !important;
  padding: 10px 16px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  box-shadow: 0 4px 10px rgba(15, 23, 42, .08) !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
.tm-guided-estimator
.tm-finding-estimator-nav
a.tm-btn.tm-btn-secondary:hover {
  border-color: #fb923c !important;
  background: #fff7ed !important;
  color: #c2410c !important;
  -webkit-text-fill-color: #c2410c !important;
}

/* Clear Quote button */
html[data-theme-effective="light"]
body.tm-estimator-page
#clearBtn {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 42px !important;
  height: auto !important;
  padding: 9px 15px !important;
  border: 1px solid #fdba74 !important;
  border-radius: 10px !important;
  background: #fff7ed !important;
  color: #c2410c !important;
  -webkit-text-fill-color: #c2410c !important;
  box-shadow: none !important;
}

html[data-theme-effective="light"]
body.tm-estimator-page
#clearBtn:hover {
  border-color: #f97316 !important;
  background: #ffedd5 !important;
}
/* Compact estimator navigation buttons on mobile */
@media (max-width: 700px) {
  body.tm-estimator-page
  .tm-guided-estimator
  .tm-finding-estimator-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 12px !important;
  }

  body.tm-estimator-page
  .tm-guided-estimator
  .tm-finding-estimator-nav
  a.tm-btn.tm-btn-secondary {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 7px 10px !important;
    border-radius: 10px !important;
    font-size: 0.78rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

/* Shop Settings — pricing labels on dark background */
.tm-shop-settings-panel[aria-label="Pricing defaults"] .tm-label,
.tm-shop-settings-panel[aria-label="Pricing defaults"] .tm-tax-toggle,
.tm-shop-settings-panel[aria-label="Pricing defaults"] .tm-tax-toggle span {
  color: #dbe7f5 !important;
  -webkit-text-fill-color: #dbe7f5 !important;
}

/* Dollar and percent symbols */
.tm-shop-settings-panel[aria-label="Pricing defaults"]
.tm-affix-input__symbol {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
}

/* Logged-in navigation: Log Out above hamburger */
.tm-nav__accountStack {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
}

.tm-nav__topLogoutForm {
  margin: 0;
  line-height: 1;
}

.tm-nav__topLogout {
  appearance: none;
  border: 0;
  background: transparent;
  color: #cbd5e1;
  cursor: pointer;
  padding: 0 4px;
  font: inherit;
  font-size: 0.7rem;
  font-weight: 850;
  line-height: 1;
}

.tm-nav__topLogout:hover,
.tm-nav__topLogout:focus-visible {
  color: #fb923c;
}

/* =========================================================
   MOBILE SHOP DOCK
   ========================================================= */

.tm-mobileDock{
  display:none;
}

@media (max-width:700px){
  body{
    padding-bottom:calc(72px + env(safe-area-inset-bottom));
  }

  .tm-mobileDock{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1400;

    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));

    padding:
      7px
      max(6px, env(safe-area-inset-right))
      calc(7px + env(safe-area-inset-bottom))
      max(6px, env(safe-area-inset-left));

    border-top:1px solid rgba(148,163,184,.24);
    background:rgba(7,18,33,.97);
    backdrop-filter:blur(16px);
    box-shadow:0 -12px 30px rgba(0,0,0,.28);
  }

  .tm-mobileDock__item{
    min-width:0;
    min-height:54px;
    padding:5px 3px;

    border:0;
    border-radius:10px;
    background:transparent;
    color:var(--tm-text-muted);

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;

    font-size:.68rem;
    font-weight:850;
    line-height:1.05;

    box-shadow:none;
    transform:none;
  }

  .tm-mobileDock__item:hover,
  .tm-mobileDock__item:focus-visible{
    background:rgba(96,165,250,.10);
    color:var(--tm-text);
    outline:none;
    transform:none;
  }

  .tm-mobileDock__item.is-active{
    color:#fb923c;
    background:rgba(249,115,22,.10);
  }

  .tm-mobileDock__icon{
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    color:inherit;
    font-size:1.05rem;
    font-weight:900;
    line-height:1;
  }

  .tm-footer{
    padding-bottom:18px;
  }

  .tm-feedback-reminder{
    bottom:calc(82px + env(safe-area-inset-bottom));
  }
}

/* =========================================================
   MOBILE NOTIFICATION ACCESS
   Keep the five-item dock while surfacing unread notifications
   through More and the existing notification panel.
   ========================================================= */

.tm-menu__item--mobileNotifications{
  display:none;
}

@media (max-width:700px){

  .tm-menu__item--mobileNotifications{
    display:flex;
    width:100%;
    border:0;
    background:transparent;
    text-align:left;
    cursor:pointer;
  }

  .tm-menu__notificationLabel{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-width:0;
  }

  .tm-menu__notificationCount{
    flex:0 0 auto;
    color:#fbbf24;
    font-size:.76rem;
    font-weight:900;
    white-space:nowrap;
  }

  .tm-mobileDock__icon--more{
    position:relative;
  }

  .tm-mobileDock__badge{
    position:absolute;
    top:-7px;
    right:-10px;
    min-width:18px;
    height:18px;
    padding:0 5px;

    border:2px solid rgba(7,18,33,.97);
    border-radius:999px;

    background:#fbbf24;
    color:#172033;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    font-size:.62rem;
    font-weight:950;
    line-height:1;

    box-shadow:0 4px 10px rgba(0,0,0,.28);
    pointer-events:none;
  }

  .tm-mobileDock__item.is-active .tm-mobileDock__badge{
    border-color:rgba(27,24,27,.98);
  }
}

/* =========================================================
   PARTS TRACKING
   Shared repair-parts include used in light workspace cards and
   standalone dark repair-detail pages.
   ========================================================= */

.tm-parts-tracking{
  --tm-parts-card-bg:#f8fafc;
  --tm-parts-card-border:rgba(14, 116, 144, .18);
  --tm-parts-panel-bg:#ffffff;
  --tm-parts-panel-border:rgba(15, 23, 42, .10);
  --tm-parts-title:#0f172a;
  --tm-parts-label:#334155;
  --tm-parts-helper:#64748b;
  --tm-parts-note:#475569;

  width:100%;
  max-width:100%;
  min-width:0;
  margin-top:14px;
  gap:12px !important;
  border-color:var(--tm-parts-card-border) !important;
  background:var(--tm-parts-card-bg) !important;
  color:var(--tm-parts-title) !important;
  box-shadow:none !important;
}

.tm-repair-work-item > .tm-parts-tracking{
  width:min(100%, 920px);
  justify-self:start;
  align-self:stretch;
}

.tm-pro-shell--repair-detail > .tm-parts-tracking{
  --tm-parts-card-bg:linear-gradient(180deg, rgba(16, 27, 47, .94) 0%, rgba(11, 23, 40, .96) 100%);
  --tm-parts-card-border:rgba(96, 165, 250, .24);
  --tm-parts-panel-bg:rgba(15, 28, 47, .88);
  --tm-parts-panel-border:rgba(148, 163, 184, .22);
  --tm-parts-title:#f8fafc;
  --tm-parts-label:#e2e8f0;
  --tm-parts-helper:#b8c7db;
  --tm-parts-note:#cbd5e1;

  border-left-color:#60a5fa !important;
  box-shadow:0 14px 30px rgba(0, 0, 0, .20) !important;
}

.tm-parts-tracking .tm-blueprint-summary-head{
  gap:10px;
}

.tm-parts-tracking .tm-blueprint-summary-title,
.tm-parts-tracking .tm-parts-tracking-item-head strong{
  color:var(--tm-parts-title) !important;
}

.tm-parts-tracking .tm-blueprint-summary-subtitle,
.tm-parts-tracking .tm-parts-tracking-helper,
.tm-parts-tracking .tm-label{
  color:var(--tm-parts-helper) !important;
  opacity:1 !important;
}

.tm-parts-tracking .tm-label{
  color:var(--tm-parts-label) !important;
}

.tm-parts-tracking .tm-parts-tracking-helper{
  margin-top:5px;
  font-size:.8rem;
  font-weight:800;
  line-height:1.35;
}

.tm-parts-tracking-list{
  display:grid;
  gap:10px;
  margin-top:2px;
}

.tm-parts-tracking-item{
  display:grid;
  gap:10px;
  min-width:0;
  border:1px solid var(--tm-parts-panel-border);
  border-radius:8px;
  background:var(--tm-parts-panel-bg);
  padding:12px;
}

.tm-parts-tracking-item-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  flex-wrap:wrap;
}

.tm-parts-tracking-notes{
  color:var(--tm-parts-note) !important;
  white-space:pre-wrap;
}

.tm-parts-tracking-add{
  margin-top:2px;
}

.tm-parts-tracking-form{
  display:grid;
  gap:11px;
  margin-top:12px;
}

.tm-parts-tracking .tm-crm-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  min-width:0;
  border:0 !important;
  background:transparent !important;
  color:var(--tm-parts-title) !important;
  box-shadow:none !important;
}

.tm-parts-tracking .tm-crm-row > div{
  min-width:0;
}

.tm-parts-tracking .tm-input{
  min-width:0;
}

@media (max-width:700px){
  .tm-parts-tracking{
    width:100%;
    margin-top:12px;
    padding:11px !important;
  }

  .tm-parts-tracking .tm-blueprint-summary-head,
  .tm-parts-tracking .tm-crm-row{
    display:grid;
    grid-template-columns:1fr;
  }

  .tm-parts-tracking .tm-repair-card-actions,
  .tm-parts-tracking .tm-repair-card-actions .tm-btn,
  .tm-parts-tracking .tm-repair-card-actions details,
  .tm-parts-tracking .tm-parts-tracking-add .tm-btn{
    width:100%;
    min-width:0;
  }
}
