/* ============================================================
   AAC Pro Estimator - Premium Design v1 (2026-06-08)
   Visual skin layer. Loads LAST. No logic changes.
   Design system: cream #F6F4EF / white #FFF / navy #19195F / gold #C9A84C
   Typography: Playfair Display (titles + amounts) + Montserrat (UI)
   ============================================================ */

/* ---- 0. TOKEN OVERRIDES ---- */
:root {
  --bg: #F6F4EF;
  --pm-cream:   #F6F4EF;
  --pm-white:   #FFFFFF;
  --pm-navy:    #19195F;
  --pm-gold:    #C9A84C;
  --pm-ink:     #2A2622;
  --pm-muted:   #9A9489;
  --pm-border:  #E6E1D6;
  --pm-hairline:#F0ECE3;
  --pm-radius:  14px;
  --pm-inactive:#B3AEA3;
}

/* ---- 1. PAGE SURFACE ---- */
body { background-color: var(--pm-cream) !important; color: var(--pm-ink); }

/* ---- 2. iOS MOBILE SHELL ---- */
#iosShell { background: var(--pm-cream) !important; }

.ios-panel { background: transparent; }

/* Cards inside shell panels */
#iosShell .card {
  background: var(--pm-white) !important;
  border: 0.5px solid var(--pm-border) !important;
  border-radius: var(--pm-radius) !important;
  box-shadow: 0 1px 8px rgba(42,38,34,0.07) !important;
}

/* Shell header stays navy -- enhance total display */
#iosShellHeader { background: var(--pm-navy) !important; }

#iosShellTotal,
.ios-shell-total,
[id*="shellTotal"],
[id*="ShellTotal"] {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  color: var(--pm-gold) !important;
  font-size: 22px !important;
}

/* Shell project name / eyebrow */
#iosShellName,
.ios-shell-name,
[id*="shellName"] {
  font-family: 'Playfair Display', serif !important;
  font-weight: 600 !important;
  color: rgba(246,244,239,0.95) !important;
}

/* Shell doc number eyebrow */
#iosShellDoc,
.ios-shell-doc,
[id*="shellDoc"] {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--pm-gold) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
}

/* ---- 3. iOS TAB BAR (active = NAVY, inactive = warm muted) ---- */
#iosTabBar {
  background: var(--pm-white) !important;
  border-top: 0.5px solid var(--pm-border) !important;
  box-shadow: 0 -1px 0 var(--pm-border) !important;
}

.ios-tab-btn svg           { color: var(--pm-inactive) !important; transition: color 0.18s ease; }
.ios-tab-btn .ios-tab-label{ color: var(--pm-inactive) !important; font-weight: 500 !important; font-size: 9px !important; }

.ios-tab-btn.active svg           { color: var(--pm-navy) !important; }
.ios-tab-btn.active .ios-tab-label{ color: var(--pm-navy) !important; font-weight: 700 !important; }

/* ---- 4. JOB LIST ROWS ---- */
.aac-est-row {
  background: var(--pm-white) !important;
  border: 0.5px solid var(--pm-border) !important;
  border-radius: var(--pm-radius) !important;
  box-shadow: 0 1px 4px rgba(42,38,34,0.05) !important;
  margin-bottom: 11px !important;
  padding: 14px 16px !important;
  transition: border-color 0.18s, box-shadow 0.18s !important;
}
.aac-est-row:hover {
  border-color: var(--pm-gold) !important;
  box-shadow: 0 2px 14px rgba(201,168,76,0.14) !important;
}

/* Address = Playfair title */
.aac-est-addr {
  font-family: 'Playfair Display', serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: var(--pm-navy) !important;
}

/* Doc number = muted eyebrow */
.aac-est-docnum {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--pm-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* Amount = Playfair */
.aac-est-total {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: var(--pm-navy) !important;
}

/* Status pill base */
.aac-est-pill {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  text-transform: uppercase !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* Status pill colors by data attribute (set by JS) */
.aac-est-pill[data-status="Draft"],
.aac-est-pill.pill-draft    { background: #F3F4F6 !important; color: #6B7280 !important; }
.aac-est-pill[data-status="Sent"],
.aac-est-pill.pill-sent     { background: #EFF6FF !important; color: #1D4ED8 !important; }
.aac-est-pill[data-status="Shared"],
.aac-est-pill.pill-shared   { background: #F0FDF4 !important; color: #16A34A !important; }
.aac-est-pill[data-status="Approved"],
.aac-est-pill.pill-approved { background: #F0FDF4 !important; color: #15803D !important; }
.aac-est-pill[data-status="Invoiced"],
.aac-est-pill.pill-invoiced { background: rgba(201,168,76,0.12) !important; color: var(--pm-navy) !important; }

/* Status pill in header (inline styled - needs !important) */
#aacStatusPill {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  text-transform: uppercase !important;
}

/* New estimate CTA */
.aac-new-btn {
  background: var(--pm-gold) !important;
  color: var(--pm-navy) !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 10px 20px !important;
  letter-spacing: 0.3px !important;
  box-shadow: 0 4px 14px rgba(201,168,76,0.3) !important;
}

/* "By Trade" toggle button */
#aacGroupBtn {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  border: 1.5px solid var(--pm-border) !important;
  padding: 6px 16px !important;
  color: var(--pm-navy) !important;
}

/* ---- 5. TRADE GROUP CARDS (signature element) ---- */
.aac-trade-group {
  background: var(--pm-white) !important;
  border: 0.5px solid var(--pm-border) !important;
  border-radius: var(--pm-radius) !important;
  margin-bottom: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 4px rgba(42,38,34,0.05) !important;
}

/* Gold 3px left-accent on header (per approved mock) */
.aac-tg-header {
  background: var(--pm-white) !important;
  border-left: 3px solid var(--pm-gold) !important;
  padding: 12px 14px !important;
}
.aac-tg-header:hover { background: #FDFCF9 !important; }

.aac-tg-name {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  color: var(--pm-navy) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  flex: 1 !important;
}

.aac-tg-sub {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--pm-navy) !important;
  margin-left: 6px !important;
}

.aac-tg-count {
  color: var(--pm-muted) !important;
  font-size: 11px !important;
}

.aac-tg-chev { stroke: var(--pm-muted) !important; }

.aac-tg-items { background: var(--pm-white) !important; }

/* Item rows inside trade group */
.aac-gi-row {
  padding: 10px 14px !important;
  border-top: 0.5px solid var(--pm-hairline) !important;
}
.aac-gi-row:first-child { border-top: none !important; }

.aac-gi-name {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--pm-ink) !important;
}

.aac-gi-detail {
  font-size: 11px !important;
  color: var(--pm-muted) !important;
  white-space: nowrap !important;
}

.aac-gi-total {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  color: var(--pm-ink) !important;
}

/* ---- 6. TOTALS BLOCK (navy card with gold Total) ---- */
#aacTotalsStack {
  background: var(--pm-navy) !important;
  border-radius: var(--pm-radius) !important;
  padding: 14px 16px !important;
  margin-top: 12px !important;
  box-shadow: 0 4px 16px rgba(25,25,95,0.22) !important;
}

#aacTotalsStack hr {
  display: none !important;
}

#aacTotalsStack .results-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  padding: 5px 0 !important;
}

#aacTotalsStack .results-label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  color: rgba(246,244,239,0.65) !important;
  font-weight: 500 !important;
}

#aacTotalsStack .results-value {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: rgba(246,244,239,0.85) !important;
  font-weight: 600 !important;
}

/* Grand Total - gold Playfair */
#aacGrandTotal,
#aacGrandTotal strong {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: var(--pm-gold) !important;
}

#aacTaxAmt { color: rgba(246,244,239,0.85) !important; }

/* Balance Due - gold highlight row */
.aac-balance-row {
  background: rgba(201,168,76,0.12) !important;
  border-radius: 8px !important;
  padding: 8px 10px !important;
  margin-top: 6px !important;
}
.aac-balance-row .results-label {
  color: rgba(246,244,239,0.85) !important;
  font-weight: 600 !important;
}
#aacBalanceDue,
#aacBalanceDue strong {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: var(--pm-gold) !important;
}

/* Amount paid input inside navy block */
#aacAmtPaid {
  background: rgba(255,255,255,0.1) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  color: var(--pm-cream) !important;
  border-radius: 6px !important;
}

/* ---- 7. RESULTS CARD (desktop totals card) ---- */
#resultsCard {
  background: var(--pm-navy) !important;
  border: none !important;
  border-radius: var(--pm-radius) !important;
  box-shadow: 0 4px 16px rgba(25,25,95,0.2) !important;
}
#resultsCard .card-header {
  background: var(--pm-navy) !important;
  border-bottom: 0.5px solid rgba(246,244,239,0.12) !important;
}
#resultsCard .card-header *,
#resultsCard .card-title,
#resultsCard h3,
#resultsCard h4 {
  font-family: 'Montserrat', sans-serif !important;
  color: rgba(246,244,239,0.7) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}
#resultsCard .card-body {
  background: var(--pm-navy) !important;
  padding: 16px !important;
}
#resultsCard .results-label {
  color: rgba(246,244,239,0.65) !important;
  font-size: 12px !important;
}
#resultsCard .results-total {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important;
  color: var(--pm-gold) !important;
}
#resultsCard .results-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  padding: 4px 0 !important;
}

/* ---- 8. PINNED ACTION BAR ---- */
.aac-action-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 16px !important;
  background: var(--pm-cream) !important;
  border-top: 0.5px solid var(--pm-border) !important;
  gap: 10px !important;
}

.aac-action-doc {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  color: var(--pm-muted) !important;
  flex: 0 1 auto !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
}

.aac-act-btn {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 11px 18px !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: opacity 0.15s, background 0.15s !important;
  flex: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.aac-act-preview {
  background: transparent !important;
  color: var(--pm-navy) !important;
  border: 1.5px solid var(--pm-navy) !important;
}
.aac-act-preview:hover { background: rgba(25,25,95,0.05) !important; }
.aac-act-preview:active { transform: translateY(1px) !important; }

.aac-act-send {
  background: var(--pm-gold) !important;
  color: var(--pm-navy) !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(201,168,76,0.35) !important;
}
.aac-act-send:hover  { opacity: 0.88 !important; }
.aac-act-send:active { transform: translateY(1px) !important; opacity: 1 !important; }

/* ---- 9. DESKTOP MODE NAV (cream + navy active) ---- */
@media (min-width: 821px) {
  .aac-mode-nav {
    background: var(--pm-white) !important;
    border-bottom: 0.5px solid var(--pm-border) !important;
  }
  .aac-mode-nav .aac-mode-link {
    font-family: 'Montserrat', sans-serif !important;
    color: var(--pm-muted) !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    transition: color 0.15s !important;
  }
  .aac-mode-nav .aac-mode-link.active,
  .aac-mode-nav .aac-mode-link:focus {
    color: var(--pm-navy) !important;
    font-weight: 700 !important;
  }
  .aac-mode-nav .aac-mode-link:hover:not(.active) {
    color: var(--pm-ink) !important;
  }
}

/* ---- 10. GLOBAL CARD TREATMENT ---- */
.card {
  background: var(--pm-white) !important;
  border: 0.5px solid var(--pm-border) !important;
  border-radius: var(--pm-radius) !important;
  box-shadow: 0 1px 6px rgba(42,38,34,0.06) !important;
}

.card-header {
  background: var(--pm-white) !important;
  border-bottom: 0.5px solid var(--pm-hairline) !important;
  font-family: 'Montserrat', sans-serif !important;
}

.card-title, .card-header h3, .card-header h4 {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  color: var(--pm-navy) !important;
  letter-spacing: 0.3px !important;
}

/* Card headers that are section titles -- Playfair */
.card-header .page-header__title,
.card-header .text-mode-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

/* ---- 11. TOOLS TILE GRID (iOS + Add/Tools sheet) ---- */
.ios-tool-tile {
  background: var(--pm-white) !important;
  border: 0.5px solid var(--pm-border) !important;
  border-radius: var(--pm-radius) !important;
  box-shadow: 0 1px 4px rgba(42,38,34,0.05) !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}
.ios-tool-tile:hover {
  border-color: var(--pm-gold) !important;
  box-shadow: 0 2px 10px rgba(201,168,76,0.12) !important;
}
.ios-tool-tile svg { color: var(--pm-navy) !important; }
.ios-tile-label {
  font-family: 'Montserrat', sans-serif !important;
  color: var(--pm-ink) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
}
.ios-tool-tile.active {
  border-color: var(--pm-gold) !important;
  background: rgba(201,168,76,0.04) !important;
  box-shadow: 0 0 0 2px rgba(201,168,76,0.18) !important;
}
.ios-tool-tile.active svg        { color: var(--pm-gold) !important; }
.ios-tool-tile.active .ios-tile-label { color: var(--pm-navy) !important; }

/* Add/Tools sheet tiles (redesign overlay) */
.aac-rd-tile {
  background: var(--pm-white) !important;
  border: 0.5px solid var(--pm-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 4px rgba(42,38,34,0.05) !important;
}
.aac-rd-tile .ti {
  background: rgba(25,25,95,0.06) !important;
  color: var(--pm-navy) !important;
  border-radius: 10px !important;
}
.aac-rd-tile .tl { color: var(--pm-ink) !important; font-weight: 600 !important; }

/* ---- 12. RAIL TABS (Add panel tabs) ---- */
.aac-rail-tab {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--pm-muted) !important;
  border-bottom: 2px solid transparent !important;
  padding-bottom: 8px !important;
  transition: color 0.15s, border-color 0.15s !important;
}
.aac-rail-tab.is-active,
.aac-rail-tab[aria-selected="true"],
.aac-rail-tab.active {
  color: var(--pm-navy) !important;
  border-bottom-color: var(--pm-gold) !important;
  font-weight: 700 !important;
}

/* ---- 13. FORM INPUTS (Add tab fields) ---- */
#addItemForm input,
#addItemForm select,
#addItemForm textarea,
.estimate-layout__main input[type="text"],
.estimate-layout__main input[type="number"],
.estimate-layout__main input[type="date"],
.estimate-layout__main select {
  border: 1px solid var(--pm-border) !important;
  border-radius: 8px !important;
  color: var(--pm-ink) !important;
  font-family: 'Montserrat', sans-serif !important;
  background: var(--pm-white) !important;
  font-size: 15px !important;
  padding: 10px 12px !important;
}
#addItemForm input:focus,
#addItemForm select:focus {
  border-color: var(--pm-navy) !important;
  box-shadow: 0 0 0 3px rgba(25,25,95,0.08) !important;
  outline: none !important;
}
#addItemForm label,
.estimate-layout__main label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  color: var(--pm-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}

/* ---- 14. PRIMARY BUTTONS ---- */
.btn-primary {
  background: var(--pm-navy) !important;
  color: var(--pm-white) !important;
  border: none !important;
  border-radius: 12px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 12px 20px !important;
  box-shadow: 0 4px 14px rgba(25,25,95,0.22) !important;
  transition: opacity 0.15s !important;
}
.btn-primary:hover { opacity: 0.88 !important; }
.btn-primary:active { transform: translateY(1px) !important; }

/* ---- 15. FLOOR PLAN (white sheet, navy title, gold scale) ---- */
.aac-floorplan-wrap,
.aac-roomscan-wrap,
.aac-2d-floorplan,
#aacFloorplanSVG,
[id*="floorplan"],
[id*="FloorPlan"],
[id*="roomscan"],
[class*="floorplan"],
[class*="floor-plan"] {
  background: var(--pm-white) !important;
  border: 0.5px solid var(--pm-border) !important;
  border-radius: var(--pm-radius) !important;
  box-shadow: 0 1px 8px rgba(42,38,34,0.08) !important;
}

/* Floor plan SVG title block text */
.aac-fp-title,
.aac-fp-label,
.aac-fp-scale-text,
[class*="fp-title"],
[class*="title-block"] {
  font-family: 'Montserrat', sans-serif !important;
  fill: var(--pm-navy) !important;
  color: var(--pm-navy) !important;
}

/* Floor plan scale bar - gold accent */
.aac-fp-scale-bar,
.aac-fp-scalebar,
[class*="scale-bar"],
[class*="scalebar"] {
  stroke: var(--pm-gold) !important;
  fill: var(--pm-gold) !important;
}

/* ---- 16. REVIEW TAB CARDS ---- */
/* Michigan Tax, Approval, Share cards */
#michiganTaxCard,
#approvalCard,
#shareCard,
[id*="taxCard"],
[id*="approvalCard"],
[id*="shareCard"] {
  background: var(--pm-white) !important;
  border: 0.5px solid var(--pm-border) !important;
  border-radius: var(--pm-radius) !important;
  box-shadow: 0 1px 6px rgba(42,38,34,0.06) !important;
}

/* ---- 17. CLIENT VIEW BAR ---- */
#aacClientViewBar {
  border-bottom: 0.5px solid var(--pm-hairline) !important;
  margin-bottom: 14px !important;
  padding-bottom: 12px !important;
}

#aacCVToggle {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  border-radius: 999px !important;
  border: 1.5px solid var(--pm-border) !important;
  color: var(--pm-muted) !important;
  transition: border-color 0.15s, color 0.15s !important;
}
#aacCVToggle:hover {
  border-color: var(--pm-navy) !important;
  color: var(--pm-navy) !important;
}

/* ---- 18. DESKTOP APP SHELL (navy header, cream workspace) ---- */
.app-header,
header.app-header {
  background: linear-gradient(135deg, var(--pm-navy) 0%, #0d0a3e 100%) !important;
}

/* Desktop nav bar (mode selector) */
.app-shell__nav {
  background: var(--pm-white) !important;
  border-bottom: 0.5px solid var(--pm-border) !important;
}
.app-shell__nav-item {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 !important;
  color: var(--pm-muted) !important;
  font-size: 13px !important;
  transition: color 0.15s !important;
}
.app-shell__nav-item.active,
.app-shell__nav-item:focus,
.app-shell__nav-item[aria-current="page"] {
  color: var(--pm-navy) !important;
  font-weight: 700 !important;
}
.app-shell__nav-item:hover:not(.active) {
  color: var(--pm-ink) !important;
}

/* Estimate topbar (the navy bar above line items) */
.aac-estimate-topbar {
  background: var(--pm-navy) !important;
  border-radius: var(--pm-radius) !important;
  margin-bottom: 12px !important;
}

/* Topbar doc number eyebrow */
.aac-estimate-topbar-eyebrow,
#aacEstimateEyebrow,
[id*="NavDoc"],
[id*="navDoc"] {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--pm-gold) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
}

/* Topbar job title Playfair */
.aac-estimate-topbar-title,
#aacEstimateTitle,
[id*="EstimateTitle"] {
  font-family: 'Playfair Display', serif !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  color: rgba(246,244,239,0.95) !important;
}

/* ---- 19. PROGRESS / READINESS ---- */
.progress-fill {
  background: linear-gradient(90deg, var(--pm-navy), var(--pm-gold)) !important;
  border-radius: 20px !important;
}
.progress-bar {
  background: var(--pm-hairline) !important;
  border-radius: 20px !important;
}

/* ---- 20. PILLS / STATUS BADGES (global) ---- */
.pill {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  border-radius: 999px !important;
  padding: 3px 10px !important;
}
.pill-gold, .pill.gold { background: rgba(201,168,76,0.14) !important; color: var(--pm-navy) !important; }
.pill-navy, .pill.navy { background: var(--pm-navy) !important; color: var(--pm-cream) !important; }

/* ---- 21. SEARCH / ASSEMBLIES / TEMPLATES (Add panel) ---- */
#searchInput,
.search-input {
  background: var(--pm-white) !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 10px !important;
  font-family: 'Montserrat', sans-serif !important;
  color: var(--pm-ink) !important;
  padding: 11px 14px !important;
  font-size: 15px !important;
}
#searchInput:focus,
.search-input:focus {
  border-color: var(--pm-navy) !important;
  box-shadow: 0 0 0 3px rgba(25,25,95,0.08) !important;
  outline: none !important;
}

/* Assembly + template cards in the rail */
.aac-assembly-card,
.assembly-card,
.aac-template-card,
.template-card,
.aac-part-row,
.part-row {
  background: var(--pm-white) !important;
  border: 0.5px solid var(--pm-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 3px rgba(42,38,34,0.05) !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* ---- 22. ESTIMATE TOPBAR ACTIONS (send + other) ---- */
body.aac-redesign .aac-est-btn-primary {
  background: var(--pm-gold) !important;
  color: var(--pm-navy) !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 14px rgba(201,168,76,0.35) !important;
}

/* ---- 23. DOCUMENT NUMBER in estimates nav bar ---- */
#aacNavDoc,
#shellEstimateCode {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--pm-gold) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  opacity: 1 !important;
}

/* ---- 24. MOBILE SYNC STATUS ---- */
#iosShellSync {
  font-family: 'Montserrat', sans-serif !important;
  color: var(--pm-muted) !important;
  font-size: 11px !important;
}
