:root {
  --bg: #f4f7fb;
  --panel: #ffffff;
  --panel-alt: #f8fafc;
  --text: #132033;
  --muted: #5c6b80;
  --line: #d9e2ec;
  --primary: #2563eb;
  --primary-soft: #dbeafe;
  --green: #16a34a;
  --green-soft: #dcfce7;
  --yellow: #ca8a04;
  --yellow-soft: #fef9c3;
  --red: #dc2626;
  --red-soft: #fee2e2;
  --shadow: 0 10px 30px rgba(19, 32, 51, 0.08);
  --radius: 18px;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: linear-gradient(180deg, #eef3f8 0%, #f7f9fc 100%);
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.small { font-size: 0.9rem; }
.codeish { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.83rem;
  font-weight: 600;
  border: 1px solid transparent;
}
.badge-green { background: var(--green-soft); color: #166534; }
.badge-yellow { background: var(--yellow-soft); color: #854d0e; }
.badge-red { background: var(--red-soft); color: #991b1b; }
.badge-blue { background: var(--primary-soft); color: #1d4ed8; }
.btn {
  border: 0;
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 600;
}
.btn-primary { background: var(--primary); color: white; }
.btn-secondary { background: #e2e8f0; color: var(--text); }
.btn-ghost { background: transparent; border: 1px solid var(--line); color: var(--text); }
.btn-danger { background: var(--red); color: white; }
.btn-small { padding: 8px 10px; font-size: 0.9rem; }
.layout {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 250px 1fr;
}
.sidebar {
  background: #102033;
  color: #e8eef7;
  padding: 22px 18px;
}
.brand {
  font-size: 1.2rem;
  font-weight: 800;
  margin-bottom: 20px;
}
.nav-list {
  display: grid;
  gap: 8px;
}
.nav-btn {
  text-align: left;
  padding: 12px 14px;
  border-radius: 12px;
  border: 0;
  background: transparent;
  color: inherit;
}
.nav-btn.active,
.nav-btn:hover { background: rgba(255,255,255,0.1); }

.sidebar .btn-ghost {
  color: #f8fbff;
  border-color: rgba(255,255,255,0.28);
  background: rgba(255,255,255,0.06);
}
.sidebar .btn-ghost:hover {
  background: rgba(255,255,255,0.12);
}
.sidebar .btn-secondary {
  background: #e8eef7;
  color: #132033;
}
.order-action-row {
  flex-wrap: wrap;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.sidebar-footer {
  margin-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.12);
  padding-top: 16px;
}
.main {
  padding: 22px;
}
.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.card {
  background: var(--panel);
  border: 1px solid rgba(217, 226, 236, 0.9);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.login-shell, .landing-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 20px;
}
.login-card, .landing-card {
  width: min(470px, 100%);
  background: var(--panel);
  border-radius: 24px;
  padding: 28px;
  box-shadow: var(--shadow);
  border: 1px solid var(--line);
}
.eyebrow {
  display: inline-block;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--primary);
  font-weight: 800;
}
.form-grid {
  display: grid;
  gap: 14px;
}
.form-row {
  display: grid;
  gap: 8px;
}
.form-row.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-row.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-row.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
label { font-size: 0.93rem; font-weight: 600; }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 11px 12px;
  background: white;
  color: var(--text);
}
textarea { min-height: 96px; resize: vertical; }
.section { margin-bottom: 18px; }
.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.tab-panel { display: none; }
.tab-panel.active { display: block; }
.columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 16px;
  align-items: start;
}
.column {
  background: rgba(255,255,255,0.66);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 14px;
}
.column h3 { margin: 0 0 10px; }

.column-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.column-head > .btn,
.column-head > button {
  flex-shrink: 0;
  white-space: nowrap;
}
.column-head h3 { margin: 0; }
.column-head-title {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex-wrap: wrap;
}
.column-head-title h3 { white-space: nowrap; }
.inline-total { white-space: nowrap; }
.inline-total {
  margin: 0 !important;
  display: inline-flex !important;
}
.columns-orders {
  grid-template-columns: minmax(360px, 1fr);
  align-items: start;
}
.columns-orders.has-left-column.has-right-column {
  grid-template-columns: minmax(250px, 0.72fr) minmax(420px, 1.7fr) minmax(250px, 0.72fr);
}
.columns-orders.has-left-column:not(.has-right-column) {
  grid-template-columns: minmax(240px, 0.58fr) minmax(520px, 2.02fr);
}
.columns-orders.has-right-column:not(.has-left-column) {
  grid-template-columns: minmax(520px, 2.02fr) minmax(240px, 0.58fr);
}
.collapsed-columns-rail {
  display: none;
  gap: 16px;
  margin-bottom: 16px;
  align-items: stretch;
}
.collapsed-columns-rail.has-collapsed-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}
.column-side.collapsed {
  padding: 10px 12px;
}
.column-side.collapsed .order-list {
  display: none;
}
.column-side.collapsed .badge {
  display: inline-flex !important;
  margin: 0 !important;
}
.column-side.collapsed .column-head {
  margin-bottom: 8px;
}
.collapsed-columns-rail .column-side.collapsed {
  position: relative;
  top: 0;
}
.collapsed-columns-rail .column {
  background: rgba(255,255,255,0.9);
}
.columns-orders:not(.has-left-column):not(.has-right-column) .column-main {
  width: 100%;
}
@media (max-width: 900px) {
  .collapsed-columns-rail.has-collapsed-columns {
    grid-template-columns: 1fr;
  }
}
input[readonly] {
  background: #f8fafc;
  color: var(--muted);
}

.order-list, .inventory-list {
  display: grid;
  gap: 12px;
}
.order-card, .inventory-card, .picker-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
}
.order-card.in-progress {
  border-color: #facc15;
  box-shadow: 0 0 0 3px rgba(250, 204, 21, 0.15);
}
.order-head, .inventory-head, .picker-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: start;
}
.order-name { font-weight: 800; font-size: 1.03rem; }
.order-meta, .stack-sm { display: grid; gap: 6px; }
.dot-menu {
  position: relative;
}
.dot-toggle {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: white;
}
.dot-dropdown {
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  min-width: 140px;
  z-index: 40;
  background: white;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  padding: 8px;
}
.dot-dropdown button {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 10px;
  border-radius: 10px;
}
.dot-dropdown button:hover { background: #f1f5f9; }
.order-items {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--line);
  display: grid;
  gap: 6px;
}
.toolbar { display: flex; gap: 10px; flex-wrap: wrap; }
.table-like {
  display: grid;
  gap: 12px;
}
.inventory-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px;
}
.inventory-image, .picker-image {
  width: 84px;
  height: 84px;
  object-fit: cover;
  border-radius: 14px;
  background: #e5edf7;
  border: 1px solid var(--line);
}
.settings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}
.kv {
  display: grid;
  gap: 8px;
}
.kv-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px dashed var(--line);
}
.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 60;
}
.modal-backdrop.open { display: flex; }
.modal {
  width: min(900px, 100%);
  max-height: 90vh;
  overflow: auto;
  background: white;
  border-radius: 24px;
  padding: 20px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.quick-shell {
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px 16px 60px;
}
.hero {
  padding: 20px;
  margin-bottom: 18px;
}
.category-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.category-chip {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 10px 14px;
  background: white;
  font-weight: 600;
}
.category-chip.active {
  background: var(--green-soft);
  border-color: #86efac;
  color: #166534;
}
.picker-layout {
  display: grid;
  grid-template-columns: 1.6fr 0.95fr;
  gap: 18px;
}
.picker-grid {
  display: grid;
  gap: 16px;
}
.availability-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(54px, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.day-pill {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-alt);
  padding: 8px;
  text-align: center;
  font-size: 0.76rem;
}
.day-pill.is-center {
  background: var(--primary-soft);
  border-color: #93c5fd;
}
.item-qty-row {
  display: grid;
  grid-template-columns: 84px 1fr auto;
  gap: 12px;
}
.split-choice {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.choice-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  background: white;
}
.choice-card.active {
  border-color: #93c5fd;
  background: #eff6ff;
}
.summary-card {
  position: sticky;
  top: 16px;
  padding: 18px;
}
.hr {
  height: 1px;
  background: var(--line);
  margin: 14px 0;
}
.contact-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.check-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: white;
}
.check-pill input { width: auto; }
.note-block {
  margin-top: 16px;
  padding: 14px;
  border-radius: 16px;
  border: 1px dashed var(--line);
  background: var(--panel-alt);
}
.empty-state {
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: 16px;
  color: var(--muted);
  background: rgba(255,255,255,0.65);
}
.landing-actions {
  display: flex;
  gap: 10px;
  margin-top: 18px;
  flex-wrap: wrap;
}
.landing-actions > .btn {
  flex: 0 0 auto;
}
.column-head-title h3 { white-space: nowrap; }
.inline-total { white-space: nowrap; }

.landing-card {
  width: min(760px, 100%);
}
.landing-shell {
  padding: 28px 20px;
}
.landing-card {
  display: grid;
  gap: 18px;
}
.landing-checker-card {
  padding: 18px;
  border-radius: 20px;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}
.landing-checker-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.landing-checker-stat {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: white;
  display: grid;
  gap: 6px;
}
.landing-checker-stat span {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 600;
}
.landing-checker-stat strong {
  font-size: 1.1rem;
}
@media (max-width: 1080px) {
  .columns, .picker-layout, .columns-orders { grid-template-columns: 1fr; }
  .column-side.collapsed { position: static; }
}
@media (max-width: 840px) {
  .layout { grid-template-columns: 1fr; }
  .sidebar { display: none; }
  .main { padding: 14px; }
  .form-row.two, .form-row.three, .form-row.four, .split-choice, .landing-checker-results { grid-template-columns: 1fr; }
  .item-qty-row { grid-template-columns: 1fr; }
}

.staged-layout {
  align-items: start;
}
.staged-card {
  padding: 20px;
}
.step-title {
  margin: 8px 0 10px;
}
.step-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}
.btn:disabled {
  background: #cbd5e1;
  color: #475569;
  cursor: not-allowed;
}
.category-group {
  display: grid;
  gap: 10px;
}
.availability-board {
  overflow-x: auto;
}
.date-columns {
  display: grid;
  grid-template-columns: repeat(7, minmax(180px, 1fr));
  gap: 12px;
}
.date-column {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel-alt);
  padding: 12px;
}
.date-column.is-center {
  background: var(--primary-soft);
  border-color: #93c5fd;
}
.date-column-head {
  font-weight: 800;
  margin-bottom: 10px;
}
.date-item-list {
  display: grid;
  gap: 8px;
}
.date-item-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px dashed var(--line);
  font-size: 0.92rem;
}
.date-item-row:last-child {
  border-bottom: 0;
}


.availability-nav {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  margin: 12px 0 14px;
}
.availability-date-label {
  text-align: center;
  font-weight: 800;
}
.single-date-column {
  max-width: 100%;
}
.compact-date-list {
  gap: 0;
}
.date-item-row.compact {
  padding: 10px 0;
}
.compact-item-list {
  display: grid;
  gap: 12px;
}
.compact-picker-card.selected {
  border-color: #93c5fd;
  background: #f8fbff;
}
.compact-picker-main {
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 12px;
  align-items: center;
}
.picker-image.compact {
  width: 64px;
  height: 64px;
}
.compact-picker-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.qty-pop {
  display: grid;
  gap: 6px;
  min-width: 92px;
}
.qty-pop input {
  width: 92px;
}
@media (max-width: 840px) {
  .compact-picker-main {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .compact-picker-actions {
    justify-content: start;
  }
  .summary-card {
    position: static;
  }
}

.mobile-total-bar {
  position: sticky;
  top: 10px;
  z-index: 70;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px 16px;
  border-radius: 16px;
  background: rgba(19, 32, 51, 0.96);
  color: white;
  box-shadow: 0 14px 32px rgba(19, 32, 51, 0.18);
}
.mobile-total-left,
.mobile-total-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
}
.column-head-title h3 { white-space: nowrap; }
.inline-total { white-space: nowrap; }
.mobile-total-left strong,
.mobile-total-right strong {
  font-size: 1rem;
}
.mobile-step-count {
  color: rgba(255,255,255,0.82);
  font-size: 0.92rem;
  font-weight: 600;
}
.mobile-total-right {
  text-align: right;
}
.mobile-total-right span {
  color: rgba(255,255,255,0.82);
  font-size: 0.84rem;
}
.mobile-total-bar.faded {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.thanks-card {
  max-width: 760px;
  margin: 0 auto;
}
.step-actions-left {
  justify-content: flex-start;
}
.order-date-group {
  display: grid;
  gap: 10px;
}
.order-date-heading {
  margin: 6px 0 0;
  font-size: 0.92rem;
  color: var(--muted);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.order-accordion {
  padding: 0;
  overflow: hidden;
}
.order-accordion.open {
  overflow: visible;
}
.order-accordion-summary {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
}
.order-summary-main {
  display: grid;
  gap: 6px;
}
.order-summary-title {
  font-weight: 800;
}
.order-summary-sub {
  color: var(--muted);
  font-size: 0.9rem;
}
.order-summary-arrow {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid var(--line);
  display: grid;
  place-items: center;
  color: var(--muted);
  transition: transform 0.2s ease;
}
.order-accordion.open .order-summary-arrow {
  transform: rotate(180deg);
}
.order-accordion-body {
  display: none;
  padding: 0 14px 14px;
  border-top: 1px solid var(--line);
}
.order-accordion.open .order-accordion-body {
  display: block;
}
@media (max-width: 840px) {
  .mobile-total-bar {
    top: 0;
    left: 0;
    right: 0;
    margin: 0 0 14px;
    border-radius: 0 0 16px 16px;
  }
}


.accessory-admin-list {
  display: grid;
  gap: 12px;
}

.accessory-admin-row {
  border: 1px solid #dbe6f5;
  border-radius: 14px;
  padding: 12px;
  background: #f8fbff;
}

.accessory-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.accessory-admin-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}

.accessory-picker-list {
  margin-top: 8px;
  display: grid;
  gap: 8px;
}

.accessory-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.92rem;
  color: #334155;
}

.accessory-check input {
  margin-top: 2px;
}

.picker-item-content {
  min-width: 0;
}

.kv-row-block + .kv-row-block {
  margin-top: 8px;
}

@media (max-width: 720px) {
  .accessory-admin-grid {
    grid-template-columns: 1fr;
  }
}


input[list] {
  appearance: none;
}


.address-autocomplete {
  position: relative;
}
.address-suggestions {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 40;
  max-height: 280px;
  overflow: auto;
  background: #0f172a;
  color: #fff;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.35);
}
.address-suggestion {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  padding: 12px 14px;
  display: grid;
  gap: 4px;
}
.address-suggestion + .address-suggestion {
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}
.address-suggestion:hover,
.address-suggestion.active {
  background: rgba(59, 130, 246, 0.22);
}
.address-suggestion-primary {
  font-weight: 700;
  line-height: 1.25;
}
.address-suggestion-secondary {
  font-size: 0.84rem;
  color: rgba(226, 232, 240, 0.92);
  line-height: 1.25;
}
.address-suggestion-distance {
  font-size: 0.78rem;
  color: #93c5fd;
}


.gallery-shell {
  max-width: 1480px;
  margin: 0 auto;
  padding: 20px 18px 48px;
}
.gallery-hero {
  padding: 14px 18px;
  background: rgba(255,255,255,0.96);
  position: sticky;
  top: 10px;
  z-index: 14;
  backdrop-filter: blur(10px);
}
.gallery-minimal-copy {
  margin: 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--text);
}
.gallery-minimal-copy a {
  color: var(--primary);
  font-weight: 800;
}
.gallery-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.gallery-toolbar {
  margin-top: 12px;
  padding: 14px 16px;
  position: sticky;
  top: 76px;
  z-index: 12;
  backdrop-filter: blur(10px);
  background: rgba(255,255,255,0.92);
}
.gallery-content {
  margin-top: 18px;
  display: grid;
  gap: 18px;
}
.gallery-section {
  padding: 12px 0 0;
}
.gallery-section-head {
  margin-bottom: 8px;
}
.gallery-section-head h2 {
  margin: 2px 0 0;
  font-size: 1.28rem;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 170px));
  justify-content: center;
  gap: 12px;
}
.gallery-card {
  width: 170px;
  background: var(--panel);
  border: 1px solid rgba(217, 226, 236, 0.95);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(19, 32, 51, 0.06);
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.gallery-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(19, 32, 51, 0.1);
}
.gallery-image-wrap {
  aspect-ratio: 1 / 1;
  max-height: 170px;
  background: linear-gradient(180deg, #eff6ff 0%, #f8fafc 100%);
}
.gallery-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gallery-card-body {
  padding: 9px;
  display: grid;
  gap: 6px;
}
.gallery-card-top,
.gallery-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.gallery-card h3 {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.2;
}
.gallery-price {
  font-weight: 800;
  font-size: 0.92rem;
  color: var(--primary);
}
.gallery-stock {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 600;
}
.gallery-card .badge {
  padding: 4px 8px;
  font-size: 0.72rem;
}
.gallery-card .btn-small {
  padding: 6px 9px;
  font-size: 0.74rem;
}

@media (max-width: 760px) {
  .gallery-shell { padding: 14px 12px 34px; }
  .gallery-hero { padding: 12px 14px; top: 0; border-radius: 0 0 16px 16px; }
  .gallery-toolbar {
    position: sticky;
    top: 62px;
  }
  .gallery-grid {
    grid-template-columns: repeat(2, minmax(145px, 145px));
    justify-content: center;
    gap: 10px;
  }
  .gallery-card {
    width: 145px;
  }
  .gallery-image-wrap {
    max-height: 145px;
  }
  .gallery-card-footer,
  .gallery-card-top {
    align-items: flex-start;
    flex-direction: column;
  }
}


.staged-accordion { padding: 0; overflow: hidden; }
.staged-accordion .staged-body { padding: 0 20px 20px; }
.staged-accordion.collapsed .staged-body { display: none; }
.step-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 16px 20px;
  display: grid;
  gap: 4px;
  cursor: pointer;
}
.step-toggle:disabled { cursor: not-allowed; opacity: 0.6; }
.step-toggle-meta {
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 800;
}
.step-toggle-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--text);
}
.staged-accordion.open .step-toggle {
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(239,246,255,0.65), rgba(255,255,255,0));
}
.staged-accordion.completed .step-toggle-title::after {
  content: ' ✓';
  color: var(--primary);
}
.gallery-toolbar {
  position: static;
  top: auto;
  z-index: 1;
  backdrop-filter: none;
  background: transparent;
  padding: 12px 0 0;
  margin-top: 10px;
  border: 0;
  box-shadow: none;
}
.gallery-hero {
  top: 0;
}
@media (max-width: 760px) {
  .gallery-toolbar { position: static; top: auto; }
}


.required-mark {
  color: #dc2626;
  font-weight: 800;
}
.review-card {
  margin-top: 18px;
  padding: 18px;
}
.review-flag-box {
  padding: 12px 14px;
  border: 1px dashed #93c5fd;
  border-radius: 14px;
  background: #eff6ff;
}
.delivery-review-copy {
  display: grid;
  gap: 8px;
}
.delivery-review-fee-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-weight: 700;
}
.review-flag-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.review-flag-check input {
  width: auto;
  margin-top: 2px;
}
.accessory-check {
  padding: 10px 12px;
  border: 1px solid #dbe6f5;
  border-radius: 14px;
  background: #fff;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.accessory-check.selected {
  background: #eff6ff;
  border-color: #93c5fd;
}
.accessory-check span {
  display: grid;
  gap: 2px;
}
.accessory-check small {
  color: var(--muted);
  font-size: 0.8rem;
}
.staged-accordion {
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.staged-accordion .staged-body {
  display: block;
  max-height: 1400px;
  opacity: 1;
  overflow: hidden;
  transition: max-height 0.45s ease, opacity 0.3s ease, padding 0.35s ease;
}
.staged-accordion.collapsed .staged-body {
  display: block;
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
}


.review-card .step-actions {
  margin-top: 18px;
  justify-content: flex-end;
  position: sticky;
  bottom: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.96) 28%);
  padding-top: 14px;
}
.review-card #submitInquiry {
  display: none !important;
}

.review-submit-inline { margin-top: 18px; display: flex; justify-content: flex-end; }
.review-submit-inline-btn { min-width: 140px; }


body.app-is-busy { overflow: hidden; }
.app-busy-overlay {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.48);
  z-index: 120;
  pointer-events: all;
}
.app-busy-overlay.open { display: flex; }
.app-busy-card {
  min-width: 220px;
  max-width: min(90vw, 320px);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
  padding: 18px 20px;
  display: grid;
  justify-items: center;
  gap: 12px;
  text-align: center;
}
.app-busy-spinner {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 3px solid #dbeafe;
  border-top-color: var(--primary);
  animation: appBusySpin 0.85s linear infinite;
}
.app-busy-message {
  font-weight: 700;
  color: var(--ink);
}
@keyframes appBusySpin {
  to { transform: rotate(360deg); }
}

.calendar-toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.calendar-availability-board {
  display: grid;
  gap: 14px;
}
.calendar-category-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  background: #fff;
}
.calendar-stock-list {
  display: grid;
  gap: 10px;
}
.calendar-stock-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fafc;
}
.calendar-stock-metrics {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.token-chip-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 720px) {
  .calendar-stock-row {
    grid-template-columns: 1fr;
  }
  .calendar-stock-metrics {
    justify-content: flex-start;
  }
}

.reminder-modal {
  width: min(980px, 100%);
}
.reminder-modal .tab-panel {
  display: none;
}
.reminder-modal .tab-panel.active {
  display: block;
}
.reminder-modal textarea[readonly] {
  background: #f8fafc;
}
#reminderUpdatesList {
  display: grid;
  gap: 10px;
  max-height: 240px;
  overflow: auto;
  padding-right: 4px;
}
.reminder-update-option {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px 12px;
  background: #fff;
}
.reminder-update-option .small {
  white-space: pre-wrap;
}


.tracking-card-wrap {
  max-width: 900px;
}
.tracking-result.hidden {
  display: none;
}


.payment-settings-row{display:grid;grid-template-columns:140px 110px 1fr 1fr;gap:12px;align-items:end;padding:12px;border:1px solid #d8e1ef;border-radius:16px;background:#f8fbff;}
.payment-settings-row .method-name{font-weight:700;}
.payment-link-grid{display:grid;gap:12px;margin-top:18px;}
.payment-link-card,.review-card{border:1px solid #d8e1ef;border-radius:18px;padding:14px;background:#f8fbff;}
.payment-link-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
.payment-amount-toggle{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.review-grid{display:grid;gap:12px;}
.review-stars{display:flex;gap:8px;flex-wrap:wrap;}
.review-stars label{display:flex;align-items:center;gap:6px;border:1px solid #d8e1ef;border-radius:999px;padding:8px 12px;background:#fff;cursor:pointer;}
@media (max-width: 800px){.payment-settings-row{grid-template-columns:1fr;}}

.review-admin-card,.public-review-card{border:1px solid #d8e1ef;border-radius:18px;padding:16px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.06);}
.reviews-public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:22px;}
.review-stars-display{color:#f59e0b;font-weight:800;letter-spacing:.04em;margin-bottom:8px;}
.ticket-loading-card{display:flex;align-items:center;gap:12px;border:1px solid #d8e1ef;border-radius:16px;background:#f8fbff;padding:14px;margin-top:10px;}
.hidden{display:none!important;}
.inline-check{display:inline-flex;align-items:center;gap:8px;width:auto;line-height:1.2;}
.inline-check input{width:auto;margin:0;}
.time-select-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:center;}
.time-select-row select{min-width:0;}
.time-select-row.is-tbd select{opacity:.55;pointer-events:none;background:#eef2f7;}
.time-tbd-label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px;color:#46556a;}
.time-tbd-label input{width:auto;margin:0;}
.copy-feedback{display:inline-block;margin-left:8px;color:#166534;font-weight:700;font-size:12px;}


.numbers-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin: 12px 0 16px;
}
.numbers-metric {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 12px;
}
.numbers-metric .metric-label { color: var(--muted); font-size: 12px; }
.numbers-metric .metric-value { font-weight: 800; font-size: 20px; margin-top: 4px; }
.numbers-table-wrap { overflow-x: auto; }
.numbers-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.numbers-table th, .numbers-table td { border-bottom: 1px solid var(--line); padding: 10px 8px; text-align: left; vertical-align: top; }
.numbers-table th { color: var(--muted); font-size: 12px; font-weight: 700; }
.numbers-table input { width: 100%; }
.numbers-muted-row { opacity: .78; }
.numbers-source-card { border: 1px solid var(--line); border-radius: 18px; padding: 14px; background: #fff; }
.numbers-subtable { width: 100%; border-collapse: collapse; margin-top: 8px; }
.numbers-subtable th, .numbers-subtable td { border-bottom: 1px solid var(--line); padding: 8px 6px; text-align: left; }
.numbers-subtable th { color: var(--muted); font-size: 12px; }
@media (max-width: 760px) {
  .numbers-table { min-width: 680px; }
}

.route-date-group {
  padding: 0 0 12px;
}
.route-date-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin: 6px 0 10px;
}
.route-stop-row {
  margin-bottom: 8px;
}

.quick-peek-date-field { display: grid; gap: 4px; font-size: 0.78rem; font-weight: 800; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; }
.quick-peek-date-field input { min-width: 150px; }

/* Patch: Quick Peek split layout, Numbers cost editor, and clearer order rows */
.quick-peek-split{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.35fr);gap:16px;align-items:start}.quick-peek-split>div{min-width:0}.separated-order-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.order-pill{display:inline-flex;align-items:center;border:1px solid #e5e7eb;background:#f8fafc;border-radius:999px;padding:3px 9px;line-height:1.25}.order-pill.time{font-weight:800;background:#eef2ff}.order-pill.icons{min-width:48px;justify-content:center;background:#fffbeb}.order-pill.name{font-weight:800;background:#fff}.order-pill.equipment{border-radius:10px;background:#f1f5f9;max-width:100%;white-space:normal}.inline-order-editor{padding:14px 0 4px}.inline-order-editor input,.inline-order-editor select,.inline-order-editor textarea,.cost-entry-table input,.cost-entry-table select{width:100%;box-sizing:border-box}.inline-items-wrap{margin-top:14px}.inline-item-row{display:grid;grid-template-columns:1.3fr .5fr .6fr .75fr .75fr;gap:10px;align-items:end;border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:10px;margin-top:8px}.cost-category-head{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:#f8fafc;border-radius:12px;padding:10px 12px;cursor:pointer}.cost-category-card{padding:12px;margin-bottom:12px}.recurring-cost-modal{max-width:780px}.recurring-cost-grid{display:grid;grid-template-columns:1fr 260px;gap:16px}.recurring-entry-row{display:grid;grid-template-columns:1fr .8fr auto;gap:8px;margin-bottom:8px}.hidden{display:none!important}@media(max-width:900px){.quick-peek-split,.recurring-cost-grid{grid-template-columns:1fr}.inline-item-row{grid-template-columns:1fr 1fr}.separated-order-title{gap:5px}.order-pill{border-radius:8px}}


/* Quick Picker v3 safety fixes */
.staged-card.open .step-actions {
  position: sticky;
  bottom: 0;
  z-index: 40;
  padding: 12px 0 2px;
  background: linear-gradient(180deg, rgba(255,255,255,0), var(--panel) 28%, var(--panel) 100%);
  border-top: 1px solid rgba(226,232,240,0.9);
}
.staged-card.open .step-actions .btn {
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
}
.delivery-minute-row {
  align-items: end;
}
.badge-blue {
  background: #dbeafe;
  color: #1d4ed8;
}
.picker-card .btn:disabled {
  opacity: 0.72;
}
@media (min-width: 900px) {
  #step4.open .staged-body {
    max-height: calc(100vh - 150px);
    overflow: auto;
    padding-right: 8px;
  }
}

/* Quick Picker v4: keep equipment next button reachable while the item list grows */
#step4.open .step-actions {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  width: min(560px, calc(100vw - 32px));
  z-index: 3000;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 18px;
  background: rgba(255,255,255,0.96);
  box-shadow: 0 18px 45px rgba(15,23,42,0.22);
}
#step4.open .step-actions .btn { width: 100%; }
#step4.open .staged-body { padding-bottom: 96px; }

.order-date-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin: 6px 0 0;
}
.order-date-heading-parts {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.heading-chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  padding: 6px 10px;
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--ink);
}
.heading-week { background: #eef2ff; }
.heading-date { background: #f8fafc; }
.heading-equipment { max-width: 100%; }
.order-date-group.day-highlight-green {
  border: 2px solid #22c55e;
  border-radius: 18px;
  padding: 8px;
  background: #f0fdf4;
}
.order-date-group.week-highlight-purple {
  border: 2px solid #a855f7;
  border-radius: 18px;
  padding: 8px;
  background: #faf5ff;
}
.order-date-group.day-highlight-green.week-highlight-purple {
  border-color: #22c55e;
  box-shadow: 0 0 0 3px rgba(168,85,247,.15) inset;
}
.compact-date-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.deposit-confirm-modal { width: min(560px, 100%); }
.numbers-summary-grid.hidden { display: none; }
.numbers-summary-grid.compact { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
.numbers-period-card {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 12px 14px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
.numbers-period-card.open { border-color: #2563eb; background: #eff6ff; }
.numbers-period-card span:first-child { display: grid; gap: 3px; }
.earnings-period-details { margin: -4px 0 8px 0; }
.average-task-grid {
  display: grid;
  grid-template-columns: 1.5fr 1.5fr .7fr .7fr;
  gap: 10px;
}
@media (max-width: 860px) {
  .compact-date-row, .average-task-grid { grid-template-columns: 1fr; }
}

.average-groups-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:0 0 12px}
.average-group-pill{border:1px solid #dbe5f2;border-radius:14px;background:#f8fafc;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.average-group-pill span{font-size:.88rem;color:#475569}
@media(min-width:901px){.inline-order-editor .form-row.four{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
.average-ref-list{display:grid;gap:10px;margin-top:10px}
.average-ref-row{display:grid;grid-template-columns:1.4fr .55fr .55fr auto;gap:10px;align-items:end;border:1px solid #dbe5f2;border-radius:14px;background:#f8fafc;padding:10px}
.average-ref-note{grid-column:1/-1;margin-top:-2px}
.button-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width: 860px){.average-ref-row{grid-template-columns:1fr}.average-ref-note{grid-column:1}}

/* Final numbers patch */
.cost-category-body{display:grid;gap:10px;margin-top:10px}.cost-editor-card{border:1px solid #dbeafe;background:#ffffff;border-radius:14px;padding:12px;display:grid;gap:10px}.cost-editor-main{display:grid;grid-template-columns:minmax(135px,.8fr) minmax(220px,1.4fr) minmax(110px,.65fr) minmax(80px,.45fr) minmax(90px,.5fr) auto;gap:10px;align-items:end}.cost-editor-card label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#475569}.cost-editor-card input,.cost-editor-card select{width:100%;box-sizing:border-box}.cost-total-pill{border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:8px 10px;min-width:105px;display:grid;gap:1px}.cost-total-pill span,.cost-total-pill small{font-size:11px;color:#64748b}.cost-total-pill strong{font-size:16px}.cost-editor-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.empty-state.compact{padding:12px;margin:8px 0 0}.earnings-period-details{display:grid;gap:12px;margin-top:8px;margin-bottom:10px}@media(max-width:1000px){.cost-editor-main{grid-template-columns:1fr 1fr}.cost-name-field{grid-column:1/-1}.cost-total-pill{grid-column:1/-1}.cost-editor-actions{justify-content:flex-start}}

.section-loading-card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 90px;
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: 16px;
  background: rgba(248, 251, 255, 0.9);
  color: var(--muted);
  font-weight: 700;
}
.section-loading-spinner {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 3px solid #dbeafe;
  border-top-color: var(--primary);
  animation: appBusySpin 0.85s linear infinite;
  flex: 0 0 auto;
}
.inventory-grid {
  grid-template-columns: repeat(auto-fill, minmax(170px, 170px));
  justify-content: center;
  align-items: start;
}
.gallery-style-inventory {
  width: 170px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(19, 32, 51, 0.06);
  transition: transform 0.16s ease, box-shadow 0.16s ease, width 0.16s ease;
}
.gallery-style-inventory:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(19, 32, 51, 0.1);
}
.gallery-style-inventory.expanded {
  width: min(360px, calc(100vw - 36px));
}
.inventory-gallery-toggle {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  color: inherit;
  cursor: pointer;
}
.inventory-gallery-image-wrap {
  width: 100%;
}
.inventory-gallery-body {
  padding: 9px;
}
.inventory-expand-hint {
  font-size: 0.74rem;
  font-weight: 800;
  color: var(--primary);
}
.inventory-expanded-details {
  padding: 0 10px 12px;
  display: grid;
  gap: 10px;
}
.inventory-image-placeholder {
  display: grid;
  place-items: center;
  height: 100%;
  color: var(--muted);
  font-weight: 800;
  font-size: 0.8rem;
}
.inventory-accessory-list {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.inventory-action-row {
  justify-content: flex-end;
}
.quick-item-picker {
  margin-top: 10px;
  display: grid;
  gap: 8px;
}
.quick-category-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.quick-category-row .active {
  background: var(--primary);
  color: white;
  border-color: var(--primary);
}
.quick-category-menu {
  display: grid;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 8px;
  background: #f8fafc;
}
.quick-inventory-option {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 9px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  text-align: left;
}
.quick-inventory-option:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
}
@media (max-width: 760px) {
  .inventory-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
  .gallery-style-inventory { width: 100%; }
  .gallery-style-inventory.expanded { width: 100%; }
}
.badge-light {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid var(--line);
}

/* Clarified admin order item layout */
.order-item-stack {
  display: grid;
  gap: 10px;
}
.compact-order-item-card {
  padding: 10px 12px;
  margin-bottom: 0;
}
.order-item-line {
  display: grid;
  grid-template-columns: 58px minmax(190px, 1fr) 76px 116px auto;
  gap: 10px;
  align-items: center;
}
.order-item-thumb-wrap {
  width: 58px;
  height: 46px;
  border-radius: 12px;
  overflow: hidden;
  background: #e5edf7;
  border: 1px solid var(--line);
}
.order-item-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.order-item-thumb-empty {
  display: grid;
  place-items: center;
  font-size: 0.65rem;
  font-weight: 800;
  color: var(--muted);
}
.order-item-name-block {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.order-item-name-block strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.order-item-mini-field {
  display: grid;
  gap: 3px;
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--muted);
}
.order-item-mini-field input {
  width: 100%;
  min-height: 34px;
  padding: 6px 8px;
}
.order-item-remove {
  justify-self: end;
  white-space: nowrap;
}
.compact-order-item-card .order-item-accessories {
  margin-top: 8px;
  padding-left: 68px;
}
#orderItemsBox > .quick-item-picker {
  margin-top: 12px;
  padding: 10px;
  border: 1px dashed var(--line);
  border-radius: 14px;
  background: #f8fafc;
}
.inventory-expanded-details[hidden] {
  display: none !important;
}
.gallery-style-inventory:not(.expanded) .inventory-expanded-details {
  display: none !important;
}
.gallery-style-inventory:not(.expanded) .inventory-gallery-body {
  min-height: 64px;
}
.gallery-style-inventory.expanded {
  grid-column: span 2;
}
@media (max-width: 860px) {
  .order-item-line {
    grid-template-columns: 52px minmax(120px, 1fr) 70px;
  }
  .order-item-mini-field:nth-of-type(2), .order-item-remove {
    grid-column: 2 / -1;
  }
  .compact-order-item-card .order-item-accessories {
    padding-left: 0;
  }
  .gallery-style-inventory.expanded { grid-column: span 1; }
}

/* Costs section compact redesign */
.cost-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.cost-category-card{margin-bottom:0;min-width:0}.cost-category-headline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.cost-category-head{min-width:0}.cost-add-btn{width:34px;height:34px;border-radius:999px;font-size:20px;line-height:1;padding:0}.cost-category-body{display:grid;gap:8px;margin-top:10px}.cost-summary-card{border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:7px;display:grid;gap:7px}.cost-summary-card.expanded{border-color:#bfdbfe}.cost-summary-line{border:0;background:#f8fafc;border-radius:10px;padding:8px 8px 8px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;text-align:left;width:100%;cursor:pointer}.cost-summary-name{display:grid;gap:2px;min-width:0}.cost-summary-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cost-summary-name small{font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cost-summary-total{white-space:nowrap;font-size:14px}.cost-summary-actions{display:flex;justify-content:flex-end;gap:3px;flex-wrap:nowrap}.cost-icon-btn{width:26px;height:26px;min-width:26px;border-radius:999px;font-size:15px;padding:0;display:inline-flex;align-items:center;justify-content:center}.cost-icon-btn.danger{color:#b91c1c}.cost-summary-details{display:grid;grid-template-columns:1fr 1fr;gap:7px;border:1px dashed #dbeafe;background:#f8fafc;border-radius:10px;padding:9px}.cost-summary-details div{display:grid;gap:1px}.cost-summary-details span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:800}.cost-summary-details strong{font-size:12px;color:#0f172a}.cost-detail-wide{grid-column:1/-1}.cost-detail-edit{grid-column:1/-1;justify-self:end}.cost-modal{max-width:760px}.cost-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cost-modal-grid label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#475569}.cost-modal-grid input,.cost-modal-grid select{width:100%;box-sizing:border-box}.cost-modal-wide{grid-column:1/-1}.cost-modal-total{border:1px solid #e5e7eb;background:#f8fafc;border-radius:14px;padding:10px 12px;display:grid;gap:2px;align-self:end}.cost-modal-total span,.cost-modal-total small{font-size:12px;color:#64748b}.cost-modal-total strong{font-size:22px}.cost-editor-card{display:none}@media(max-width:1100px){.cost-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.cost-category-grid,.cost-modal-grid{grid-template-columns:1fr}.cost-modal-wide{grid-column:auto}.cost-summary-line{grid-template-columns:minmax(0,1fr) auto}.cost-summary-actions{grid-column:1/-1;justify-content:flex-start}.cost-detail-edit{justify-self:stretch}}
.cost-modal-accessories{border:1px solid #e5e7eb;background:#f8fafc;border-radius:14px;padding:12px;display:grid;gap:10px}.cost-accessory-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.cost-accessory-rows{display:grid;gap:8px}.cost-accessory-row{display:grid;grid-template-columns:1.15fr 1.15fr .55fr .65fr auto;gap:8px;align-items:end;border:1px solid #dbeafe;background:#fff;border-radius:12px;padding:9px}.cost-accessory-row label{min-width:0}.cost-accessory-row select,.cost-accessory-row input{width:100%;box-sizing:border-box}@media(max-width:900px){.cost-accessory-row{grid-template-columns:1fr 1fr}.cost-accessory-row button{justify-self:start}.cost-accessory-head{align-items:stretch;flex-direction:column}}
.copy-paste-modal{max-width:720px}.copy-paste-group{display:grid;gap:8px}.copy-paste-option{width:100%;text-align:left;border:1px solid #d8e1ef;background:#fff;border-radius:14px;padding:12px 14px;display:grid;gap:4px;cursor:pointer}.copy-paste-option:hover{border-color:#8ba8e8;background:#f7faff}.copy-paste-option span{font-size:12px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-paste-custom-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}@media(max-width:640px){.copy-paste-custom-row{grid-template-columns:1fr}.copy-paste-custom-row .btn{width:100%}}

/* Quote Firebase activity overlay */
.firebase-loading-overlay{position:fixed;inset:0;z-index:9999;background:rgba(248,250,252,.72);backdrop-filter:blur(2px);display:grid;place-items:center}.firebase-loading-overlay.hidden{display:none}.firebase-loading-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px;box-shadow:0 18px 55px rgba(15,23,42,.18)}body.firebase-busy{cursor:wait}
/* Admin notifications and one-open order sections */
.notification-bell{position:relative;width:46px;height:46px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:21px;cursor:pointer}.notification-bell.has-new{box-shadow:0 0 0 4px rgba(37,99,235,.12)}.notification-badge{position:absolute;right:-4px;top:-5px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}.notification-badge.hidden{display:none}.order-column-toggle{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;padding:0}.column-chevron{font-size:20px;transition:transform .16s}.column:not(.collapsed) .column-chevron{transform:rotate(180deg)}.columns-orders.single-open-column{grid-template-columns:1fr}.collapsed-columns-rail.has-collapsed-columns{grid-template-columns:repeat(2,minmax(220px,1fr))}.column.collapsed .order-list{display:none}.column.collapsed{padding:12px 14px}.column.collapsed .column-head{margin:0}.column:not(.collapsed){width:100%}
@media(max-width:760px){.collapsed-columns-rail.has-collapsed-columns{grid-template-columns:1fr}}

.new-inquiry-clear { font: inherit; cursor: pointer; border: 1px solid rgba(37,99,235,.25); }
.new-inquiry-clear:hover { filter: brightness(.96); transform: translateY(-1px); }
