.table-wrap:focus-visible {
  outline: 3px solid #4f8ff7;
  outline-offset: 2px;
}

@media (max-width: 550px) {
  .platform-admin-page:not(.quote-engine-preview-page) .app-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 10px;
    align-items: center;
    padding: 10px 14px;
  }

  .platform-admin-page:not(.quote-engine-preview-page) .wordmark {
    grid-column: 1;
    grid-row: 1;
  }

  .platform-admin-page:not(.quote-engine-preview-page) .sidebar-context {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    padding: 8px 10px;
  }

  .platform-admin-page:not(.quote-engine-preview-page) .app-nav {
    grid-column: 2;
    grid-row: 2;
    width: auto;
    margin: 0;
  }

  .platform-admin-page:not(.quote-engine-preview-page) .sidebar-footer {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .platform-admin-page:not(.quote-engine-preview-page) .user-context {
    display: none;
  }

  .platform-admin-page:not(.quote-engine-preview-page) .logout button {
    min-height: 40px;
    padding: 6px 9px;
    font-size: .72rem;
  }

  .platform-admin-page .app-main {
    padding-top: 16px;
  }

  .platform-admin-page .app-header {
    margin-bottom: 14px;
  }

  .platform-admin-page .app-header > div:first-child > p:last-child {
    display: none;
  }
}

.error-page .eyebrow {
  color: #7a4f28;
}

.empty-cell {
  padding: 28px 12px;
  color: #667987;
  text-align: center;
}

.admin-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}

.admin-form label,
.admin-form fieldset {
  display: grid;
  gap: 7px;
  font-weight: 700;
}

.admin-form input,
.admin-form select,
.admin-form textarea {
  width: 100%;
  border: 1px solid #b9c9d5;
  border-radius: 10px;
  padding: 12px;
  background: #fff;
  color: #10283b;
  font: inherit;
}

.admin-form textarea,
.admin-form fieldset,
.admin-form button,
.admin-form .full-field,
.admin-form .form-guidance,
.admin-form .confirm-field {
  grid-column: 1 / -1;
}

.admin-form fieldset {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #d7e1e8;
  border-radius: 10px;
  padding: 14px;
}

.admin-form fieldset label {
  display: flex;
  align-items: center;
  font-weight: 600;
}

.admin-form fieldset input {
  width: auto;
}

.admin-form .check-field {
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-form .check-field input {
  width: auto;
}

.admin-form .confirm-field {
  border: 1px solid #d8b66a;
  border-radius: 10px;
  padding: 14px;
  background: #fff9e8;
}

.admin-form .form-guidance {
  margin: 0;
  color: #5b6d7b;
}

.compact-admin-form {
  display: block;
  min-width: 250px;
  margin-top: 0;
}

.compact-admin-form label,
.compact-admin-form button {
  margin-top: 8px;
}

.admin-section-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -6px 0 24px;
  padding: 8px;
  border: 1px solid #d7e1e8;
  border-radius: 14px;
  background: #fff;
}

.admin-section-nav a {
  padding: 10px 14px;
  border-radius: 9px;
  color: #36536a;
  font-weight: 800;
  text-decoration: none;
}

.admin-section-nav a:hover,
.admin-section-nav a:focus-visible,
.admin-section-nav a[aria-current="page"] {
  background: #e8f0fb;
  color: #173d65;
}

.readiness-panel {
  border-top: 6px solid var(--tenant-accent);
}

.readiness-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.readiness-grid li {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid #d7e1e8;
  border-radius: 10px;
}

.readiness-grid li.complete {
  border-color: #acd5bd;
  background: #f1faf5;
}

.readiness-grid li.blocked {
  border-color: #e1c97d;
  background: #fff9e8;
}

.readiness-grid span,
.import-preview p,
.issue-list span {
  color: #5b6d7b;
}

.readiness-notes {
  margin-top: 18px;
  padding: 14px 18px;
  border-left: 4px solid #7da3c7;
  background: #f4f8fc;
}

.readiness-notes h3,
.readiness-notes ul {
  margin-top: 0;
}

.catalog-quality article,
.import-metrics article {
  padding: 18px;
  border: 1px solid #d7e1e8;
  border-radius: 12px;
  background: #fff;
}

.dashboard-grid > *,
.settings-grid > * {
  min-width: 0;
}

.catalog-quality small,
.import-metrics small {
  color: #5b6d7b;
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mapping-fields {
  padding: 14px;
  border: 1px solid #d7e1e8;
  border-radius: 10px;
  background: #f8fafb;
}

.mapping-fields summary {
  cursor: pointer;
  font-weight: 800;
}

.table-wrap td > small,
.table-wrap td > strong + small {
  display: block;
  margin-top: 4px;
}

.table-wrap details {
  min-width: 560px;
}

.table-wrap details summary {
  cursor: pointer;
  color: #245a9c;
  font-weight: 800;
}

.danger-zone {
  border-left: 5px solid #d8b66a;
}

.import-previews {
  display: grid;
  gap: 18px;
}

.import-preview {
  padding: 18px;
  border: 1px solid #d7e1e8;
  border-radius: 12px;
  background: #fbfcfd;
}

.import-preview h3 {
  margin: 0;
  font-size: 1.2rem;
}

.issue-list {
  display: grid;
  gap: 8px;
  padding: 0;
  list-style: none;
}

.issue-list li {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border-left: 4px solid #b46a32;
  background: #fff6ed;
}

.success-copy {
  color: #24633f !important;
  font-weight: 800;
}

.verification-metrics article {
  display: block;
  padding: 18px;
  border: 1px solid #d7e1e8;
  border-radius: 12px;
  background: #fff;
}

.verification-metrics article strong {
  display: block;
  margin-top: 6px;
  font-size: 2rem;
}

.admin-sidebar-context span {
  color: #d8e4ec;
  font-size: 0.75rem;
  line-height: 1.4;
}

.admin-status-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: -8px 0 24px;
  overflow: hidden;
  border: 1px solid #d7e1e8;
  border-radius: 12px;
  background: #fff;
}

.admin-status-bar > span {
  min-width: 0;
  padding: 13px 16px;
  border-right: 1px solid #e4ebef;
}

.admin-status-bar > span:last-child {
  border-right: 0;
}

.admin-status-bar small,
.admin-status-bar strong {
  display: block;
}

.admin-status-bar small {
  color: #718391;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-status-bar strong {
  margin-top: 4px;
  color: #173044;
  font-size: 0.82rem;
}

.business-details-panel {
  max-width: 850px;
}

.business-details-panel .admin-form {
  max-width: 750px;
  gap: 12px;
}

.customer-availability-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 12px;
  margin: 20px 0;
}

.customer-availability-card {
  display: grid;
  gap: 16px;
  min-width: 0;
  padding: 16px;
  border: 1px solid #d7e1e8;
  border-radius: 12px;
  background: #f8fafb;
}

.customer-availability-summary,
.customer-availability-action {
  min-width: 0;
}

.customer-availability-summary .pill {
  margin-top: 10px;
}

.customer-availability-action {
  border-top: 1px solid #d7e1e8;
  padding-top: 14px;
}

.customer-availability-action p {
  margin: 0 0 10px;
}

.customer-availability-form.admin-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.customer-availability-form.admin-form > button[type="submit"] {
  width: fit-content;
  max-width: 100%;
}

.customer-availability-card strong,
.customer-availability-card small {
  display: block;
}

.customer-availability-card small {
  margin-top: 4px;
  color: #667987;
}

.admin-overview-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 26px;
  border-radius: 14px;
  background: linear-gradient(120deg, #15344d, #214e6d);
  color: #fff;
}

.admin-overview-hero h2 {
  margin: 7px 0;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
}

.admin-overview-hero p,
.admin-overview-hero small,
.admin-overview-hero span {
  margin: 0;
  color: #c9d8e2;
}

.admin-overview-hero > div:last-child {
  min-width: 170px;
  padding-left: 24px;
  border-left: 1px solid #ffffff35;
}

.admin-overview-hero > div:last-child > * {
  display: block;
}

.admin-overview-hero > div:last-child strong {
  margin: 4px 0;
  font-size: 1.8rem;
}

.admin-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 18px;
}

.admin-metrics article {
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid #d7e1e8;
  border-radius: 10px;
  background: #fff;
}

.admin-metrics article strong {
  margin-top: 7px;
  font-size: 1.8rem;
}

.setup-progress > ul,
.detail-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.setup-progress li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid #e4ebef;
}

.setup-progress li small,
.detail-list span {
  display: block;
  margin-top: 3px;
  color: #667987;
  font-size: 0.76rem;
  line-height: 1.45;
}

.setup-check {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 1px solid #d2b96d;
  border-radius: 50%;
  color: #755d13;
  background: #fff9e8;
  font-weight: 900;
}

.setup-progress li.complete .setup-check {
  border-color: #8fc4a7;
  color: #276343;
  background: #eff9f3;
}

.setup-state {
  color: #667987;
  font-size: 0.74rem;
  font-weight: 800;
}

.setup-progress li > a {
  color: #245a9c;
  font-size: 0.76rem;
  font-weight: 850;
}

.boundary-flow {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.boundary-flow span {
  padding: 9px 12px;
  border: 1px solid #cfdce4;
  border-radius: 8px;
  background: #f7fafb;
  font-weight: 800;
}

.advanced-panel > summary,
.advanced-fields > summary {
  cursor: pointer;
  color: #244b68;
  font-weight: 850;
}

.advanced-panel[open] > summary,
.advanced-fields[open] > summary {
  margin-bottom: 18px;
}

.advanced-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 14px;
  border: 1px solid #d7e1e8;
  border-radius: 10px;
  background: #f8fafb;
}

.advanced-fields[open] {
  display: grid;
}

.advanced-fields > summary,
.advanced-fields > p {
  grid-column: 1 / -1;
}

.module-list {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
}

.module-group + .module-group {
  margin-top: 22px;
}

.module-group h3 {
  margin: 0;
  padding: 0 0 8px;
  color: #718391;
  font-size: 0.67rem;
  letter-spacing: 0.12em;
}

.admin-form fieldset .module-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 0;
  border-top: 1px solid #e4ebef;
}

.module-row > span:first-child {
  min-width: 0;
}

.module-row small {
  display: block;
  margin-top: 3px;
  color: #667987;
  font-size: 0.74rem;
  font-weight: 500;
  line-height: 1.4;
}

.switch-control {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.switch-control input {
  position: absolute;
  width: 1px !important;
  height: 1px;
  opacity: 0;
}

.switch-control i {
  position: relative;
  width: 38px;
  height: 22px;
  border-radius: 20px;
  background: #c4cfd6;
}

.switch-control i::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  transition: transform 120ms ease;
}

.switch-control input:checked + i {
  background: #2f6d4a;
}

.switch-control input:checked + i::after {
  transform: translateX(16px);
}

.switch-control input:focus-visible + i {
  outline: 3px solid #4f8ff7;
  outline-offset: 3px;
}

.switch-control b {
  min-width: 24px;
  color: #536a79;
  font-size: 0.72rem;
}

.fulfillment-summary dl,
.access-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
}

.publication-note {
  margin-top: 20px;
}

.fulfillment-summary dl div,
.access-grid article {
  padding: 16px;
  border: 1px solid #d7e1e8;
  border-radius: 10px;
  background: #f8fafb;
}

.fulfillment-summary dt,
.access-grid p {
  margin: 0;
  color: #667987;
  font-size: 0.72rem;
  font-weight: 800;
}

.fulfillment-summary dd,
.access-grid strong,
.access-grid span {
  display: block;
  margin: 5px 0 0;
}

.access-grid strong {
  color: #173044;
  font-size: 1.2rem;
}

.access-grid span {
  color: #667987;
  font-size: 0.76rem;
}

.compact-button {
  padding: 8px 10px !important;
}

.table-wrap td > details {
  min-width: min(360px, 42vw);
}

.materials-pricing {
  padding: 0;
  overflow: clip;
}

.materials-pricing-head,
.catalog-context,
.catalog-library,
.catalog-save-bar {
  padding: 24px 28px;
}

.materials-pricing-head {
  margin: 0;
}

.catalog-context {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  border-block: 1px solid #dce5ea;
  background: #f7f9fa;
}

.catalog-context form,
.catalog-filters {
  display: flex;
  align-items: end;
  gap: 10px;
}

.catalog-context label,
.catalog-library > label {
  display: grid;
  gap: 6px;
  color: #344f61;
  font-size: 0.75rem;
  font-weight: 800;
}

.catalog-context select,
.catalog-context input,
.catalog-library input {
  min-width: 190px;
}

.catalog-library {
  border-bottom: 1px solid #dce5ea;
  background: #eef5f8;
}

.catalog-library-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
}

.catalog-library-head h3,
.catalog-library-head p {
  margin: 3px 0;
}

.material-suggestions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.material-category-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.category-filter {
  padding: 7px 11px;
  border: 1px solid #b9cbd5;
  border-radius: 999px;
  background: #fff;
  color: #315266;
  font-size: 0.75rem;
  font-weight: 800;
}

.category-filter:hover,
.category-filter:focus-visible,
.category-filter.active {
  border-color: #2d6cdf;
  background: #e8f0ff;
  color: #174f9e;
}

.material-suggestion {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #c9d7df;
  border-radius: 9px;
  background: #fff;
  color: #173044;
  text-align: left;
}

.material-suggestion:hover,
.material-suggestion:focus-visible {
  border-color: #2d6cdf;
  box-shadow: 0 0 0 3px #2d6cdf24;
}

.material-suggestion span {
  color: #607483;
  font-size: 0.75rem;
}

.shared-material-creator {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #cedbe2;
}

.similar-materials {
  color: #7a4b13;
  font-size: 0.78rem;
}

.catalog-grid-wrap {
  width: 100%;
  max-width: 100%;
  overflow: auto;
  overscroll-behavior-inline: contain;
  border-bottom: 1px solid #dce5ea;
}

.catalog-grid-wrap:focus-visible {
  outline: 3px solid #4f8ff7;
  outline-offset: -3px;
}

.catalog-grid-table {
  min-width: 980px;
  margin: 0;
}

.catalog-grid-table th,
.catalog-grid-table td {
  padding: 14px 10px;
  vertical-align: middle;
}

.catalog-grid-table th:first-child,
.catalog-grid-table td:first-child {
  padding-left: 28px;
}

.catalog-grid-table th:last-child,
.catalog-grid-table td:last-child {
  padding-right: 28px;
}

.catalog-grid-table input,
.catalog-grid-table select {
  width: 100%;
  min-width: 92px;
  padding: 9px 10px;
  border: 1px solid #bccbd4;
  border-radius: 7px;
  background: #fff;
  color: #173044;
  font: inherit;
}

.catalog-grid-table .material-cell {
  min-width: 310px;
}

.material-cell label {
  display: grid;
  grid-template-columns: 112px minmax(150px, 1fr);
  align-items: center;
  gap: 8px;
}

.material-cell label + label {
  margin-top: 7px;
}

.material-cell label span {
  color: #607483;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.money-input {
  display: flex;
  align-items: center;
  min-width: 120px;
  border: 1px solid #bccbd4;
  border-radius: 7px;
  background: #fff;
}

.money-input > span:first-child {
  padding-left: 10px;
  color: #607483;
  font-weight: 800;
}

.catalog-grid-table .money-input input {
  min-width: 80px;
  border: 0;
  box-shadow: none;
}

.compact-check {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.catalog-grid-table .compact-check input {
  width: 18px;
  min-width: 18px;
  height: 18px;
}

.row-status > span {
  display: block;
  min-width: 92px;
  color: #526978;
  font-size: 0.76rem;
  font-weight: 800;
}

.row-status details {
  margin-top: 4px;
  font-size: 0.72rem;
}

.catalog-grid-table tr.is-dirty td {
  background: #fff9e8;
}

.catalog-grid-table tr.is-invalid td {
  background: #fff0ed;
}

.catalog-grid-table tr.is-invalid input:invalid,
.catalog-grid-table tr.is-invalid select:invalid {
  border-color: #b93c27;
  box-shadow: 0 0 0 2px #b93c2726;
}

.new-material-row td {
  border-top: 2px solid #d4863b;
}

.hidden-cell {
  display: none;
}

.text-button {
  margin-top: 5px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #285fae;
  font-weight: 800;
  text-decoration: underline;
}

.catalog-save-bar {
  position: sticky;
  bottom: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: #fff;
  box-shadow: 0 -8px 22px #1730440a;
}

.catalog-save-bar p {
  margin: 0;
  color: #536a79;
  font-weight: 800;
}

.catalog-save-bar > div {
  display: flex;
  align-items: center;
  gap: 14px;
}

.catalog-save-bar button:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}

.catalog-form-message {
  min-height: 1.4em;
  margin: -12px 28px 18px;
  color: #9b2f20;
  font-weight: 800;
}

.hauling-boundary {
  margin-top: 18px;
}

.quote-offerings-panel {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #dce5ea;
}

.hauling-rates-panel {
  overflow: clip;
}

.fulfillment-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 20px 0 24px;
  overflow: hidden;
  border: 1px solid #d7e1e8;
  border-radius: 10px;
  background: #d7e1e8;
}

.fulfillment-strip span {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  background: #f8fafb;
}

.fulfillment-strip small {
  color: #667987;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.rate-basis {
  display: flex;
  gap: 12px;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}

.rate-basis legend {
  width: 100%;
  margin-bottom: 9px;
  color: #344f61;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.rate-basis label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 210px;
  padding: 14px 16px;
  border: 1px solid #c7d4dc;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}

.rate-basis label:has(input:checked) {
  border-color: #2d6cdf;
  box-shadow: 0 0 0 3px #2d6cdf1f;
}

.rate-basis input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
}

.rate-basis span,
.rate-basis small {
  display: block;
}

.rate-basis small {
  margin-top: 2px;
  color: #667987;
  font-size: 0.75rem;
}

.rate-editor-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 14px;
}

.rate-editor-grid > label {
  display: grid;
  align-content: start;
  gap: 7px;
  color: #344f61;
  font-size: 0.76rem;
  font-weight: 800;
}

.rate-editor-grid label > span:first-child small {
  color: #758894;
  font-weight: 600;
}

.rate-editor-grid .money-input,
.unit-input {
  display: flex;
  align-items: center;
  min-height: 44px;
  border: 1px solid #bccbd4;
  border-radius: 8px;
  background: #fff;
}

.rate-editor-grid i,
.unit-input i {
  padding: 0 10px;
  color: #617684;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.rate-editor-grid input {
  width: 100%;
  min-width: 0;
  padding: 11px 10px;
  border: 0;
  background: transparent;
  color: #173044;
  font: inherit;
  font-size: 0.9rem;
  box-shadow: none;
}

.rate-editor-grid span:has(input[aria-invalid]) {
  border-color: #b93c27;
  box-shadow: 0 0 0 2px #b93c2726;
}

.hauling-advanced {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #dce5ea;
}

.hauling-advanced .form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.hauling-form-message {
  min-height: 1.4em;
  color: #9b2f20;
  font-weight: 800;
}

.hauling-save-bar {
  margin: 8px -28px -28px;
  border-top: 1px solid #dce5ea;
}

.hauling-save-bar p.dirty {
  color: #8a5313;
}

.rate-preview h2 {
  text-transform: capitalize;
}

.hauling-preview-wrap table {
  min-width: 430px;
}

@media (max-width: 1080px) {
  .admin-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .material-suggestions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-context {
    align-items: stretch;
    flex-direction: column;
  }

  .rate-editor-grid {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
  }

  .catalog-context form,
  .catalog-filters {
    align-items: stretch;
    flex-wrap: wrap;
  }
}

@media (max-width: 760px) {
  .admin-form,
  .admin-form fieldset {
    grid-template-columns: 1fr;
  }

  .admin-section-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-section-nav a {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .table-wrap details {
    min-width: 240px;
  }

  .admin-status-bar,
  .admin-metrics,
  .access-grid,
  .fulfillment-summary dl {
    grid-template-columns: 1fr 1fr;
  }

  .admin-overview-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-overview-hero > div:last-child {
    width: 100%;
    padding: 16px 0 0;
    border-top: 1px solid #ffffff35;
    border-left: 0;
  }

  .setup-progress li {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .setup-state,
  .setup-progress li > a {
    grid-column: 2;
  }

  .advanced-fields {
    grid-template-columns: 1fr;
  }

  .admin-form fieldset .module-row {
    align-items: flex-start;
  }

  .catalog-context,
  .catalog-save-bar,
  .catalog-save-bar > div,
  .catalog-library-head {
    align-items: stretch;
    flex-direction: column;
  }

  .catalog-context form,
  .catalog-filters {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .catalog-context select,
  .catalog-context input {
    min-width: 150px;
  }

  .material-suggestions {
    grid-template-columns: 1fr;
  }

  .catalog-save-bar .button {
    width: 100%;
  }

  .fulfillment-strip,
  .hauling-advanced .form-grid {
    grid-template-columns: 1fr;
  }

  .rate-basis {
    flex-direction: column;
  }

  .rate-basis label {
    min-width: 0;
  }

  .rate-editor-grid {
    grid-template-columns: 1fr;
  }

  .hauling-save-bar {
    margin-inline: -28px;
  }
}

@media (max-width: 480px) {
  .admin-status-bar,
  .admin-metrics,
  .access-grid,
  .fulfillment-summary dl {
    grid-template-columns: 1fr;
  }

  .admin-status-bar > span {
    border-right: 0;
    border-bottom: 1px solid #e4ebef;
  }
}

/* Customer Experience Preview: tenant-branded flow with diagnostics outside the customer shell. */
.preview-admin-strip {
  position: sticky;
  z-index: 6;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: -6px 0 20px;
  padding: 10px 14px;
  border: 1px solid #cbd8e0;
  border-radius: 11px;
  background: #f8fafbfa;
  box-shadow: 0 8px 24px #17304410;
  backdrop-filter: blur(8px);
}
.preview-admin-strip > div:first-child { display: flex; align-items: center; gap: 18px; min-width: 0; }
.preview-admin-strip a { color: #34566e; font-size: .78rem; font-weight: 800; text-decoration: none; }
.preview-admin-strip span { color: #536d7d; font-size: .78rem; }
.preview-admin-strip span strong { margin-right: 6px; color: #173044; letter-spacing: .08em; }
.preview-admin-strip i { color: #8a5a12; font-size: .76rem; font-style: normal; font-weight: 800; }
.preview-tabs { display: inline-flex; flex: 0 0 auto; padding: 3px; border: 1px solid #c9d6de; border-radius: 9px; background: #edf2f5; }
.preview-tabs button { min-height: 34px; padding: 7px 12px; border: 0; border-radius: 6px; background: transparent; color: #536b7a; font: inherit; font-size: .75rem; font-weight: 850; }
.preview-tabs button[aria-selected="true"] { background: #fff; color: #173044; box-shadow: 0 1px 5px #17304418; }
.test-quote-layout { display: grid; min-width: 0; }
.quote-engine-preview-page .app-layout { display: block; }
.quote-engine-preview-page .app-sidebar,
.quote-engine-preview-page .app-header { display: none; }
.quote-engine-preview-page .app-main { max-width: none; padding: 0; }
.quote-engine-preview-page .admin-status-bar,
.quote-engine-preview-page .admin-section-nav { margin: 12px clamp(12px, 3vw, 44px); }
.quote-engine-preview-page .preview-admin-strip { border-radius: 0; }
.quote-engine-preview-page .customer-preview-panel { margin-inline: 0; }
.test-quote-form { min-width: 0; margin: 0; }
.customer-preview-panel { min-width: 0; padding: 20px clamp(0px, 3vw, 44px) 44px; border-radius: 16px; background: #eaf0f2; }
.customer-quote-shell { width: min(900px, 100%); margin: 0 auto; overflow: hidden; border: 1px solid #d6e0e5; border-top: 6px solid var(--preview-accent); border-radius: 20px; background: #fff; box-shadow: 0 24px 60px #17304415; color: #172f42; }
.customer-brand-head { display: flex; align-items: center; gap: 13px; padding: 19px clamp(22px, 5vw, 50px); background: var(--preview-primary); color: var(--preview-on-primary); }
.customer-brand-head > div { display: grid; gap: 1px; }
.customer-brand-head strong { font-size: 1.05rem; }
.customer-brand-head small { opacity: .78; font-size: .72rem; font-weight: 650; }
.customer-brand-mark { display: grid; place-items: center; width: 42px; height: 42px; padding: 4px; border: 1px solid currentColor; border-radius: 11px; color: inherit; font-size: .74rem; font-weight: 900; letter-spacing: .04em; }
.customer-quote-intro { padding: 42px clamp(24px, 6vw, 58px) 27px; }
.customer-quote-intro h1 { margin: 4px 0 10px; color: #142c3f; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.02; }
.customer-quote-intro p:last-child { max-width: 620px; margin: 0; color: #617483; font-size: 1rem; line-height: 1.6; }
.quote-progress { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 clamp(24px, 6vw, 58px); padding: 0 0 27px; list-style: none; }
.quote-progress.material-only { grid-template-columns: repeat(3, 1fr); }
.quote-progress li { position: relative; display: grid; justify-items: center; gap: 7px; color: #73828c; font-size: .7rem; text-transform: uppercase; letter-spacing: .07em; }
.quote-progress li::before { position: absolute; z-index: 0; top: 15px; left: -50%; width: 100%; height: 2px; background: #dbe4e8; content: ""; }
.quote-progress li:first-child::before { display: none; }
.quote-progress li span { position: relative; z-index: 1; display: grid; place-items: center; width: 31px; height: 31px; border: 2px solid #cad6dd; border-radius: 50%; background: #fff; font-size: .73rem; font-weight: 900; }
.quote-progress li[aria-current="step"] { color: #173044; }
.quote-progress li[aria-current="step"] span { border-color: var(--preview-accent); background: var(--preview-accent); color: #10283b; }
.quote-flow { border-top: 1px solid #e2e9ed; }
.quote-step-panel { min-height: 410px; padding: 38px clamp(24px, 6vw, 58px) 46px; outline: 0; }
.quote-step-panel .step-context { margin: 0 0 5px; color: var(--preview-primary); font-size: .72rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.quote-step-panel h2 { margin: 0 0 8px; color: #142c3f; font-size: clamp(1.55rem, 3vw, 2.15rem); }
.quote-step-panel > p:not(.step-context):not(.routing-commissioning-note):not(.customer-review-note) { margin: 0 0 24px; color: #647785; }
.material-search { display: grid; gap: 7px; margin: 20px 0; color: #314b5d; font-size: .8rem; font-weight: 850; }
.customer-service-choice { display:flex; flex-wrap:wrap; gap:9px; margin:20px 0; padding:0; border:0; }
.customer-service-choice legend { margin-bottom:9px; color:#314b5d; font-size:.8rem; font-weight:850; }
.customer-service-choice label { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:9px 14px; border:1px solid #c6d4dd; border-radius:9px; cursor:pointer; font-weight:750; }
.customer-service-choice label:has(input:checked) { border-color:var(--preview-primary); background:#eaf1f1; }
.customer-service-choice label:focus-within { outline:3px solid #2d6cdf55; outline-offset:2px; }
.material-search input,
.customer-address input,
.customer-quantity input { min-width: 0; min-height: 50px; padding: 12px 14px; border: 1px solid #b9c9d3; border-radius: 9px; background: #fff; color: #142c3f; font: inherit; }
.quote-material-groups { display: grid; gap: 24px; }
.quote-material-group h4 { margin: 0 0 10px; color: #5d7281; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.quote-material-group > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.quote-material-choice { position: relative; display: block; min-width: 0; cursor: pointer; }
.quote-material-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.quote-material-choice > span { display: grid; gap: 4px; min-height: 116px; padding: 17px; border: 2px solid #d8e1e6; border-radius: 12px; background: #fff; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.quote-material-choice strong { color: #173044; font-size: .98rem; }
.quote-material-choice small { color: #607584; line-height: 1.4; }
.quote-material-choice i { margin-top: auto; color: #496474; font-size: .72rem; font-style: normal; font-weight: 750; }
.quote-material-choice:hover > span { border-color: #93aeba; transform: translateY(-1px); }
.quote-material-choice input:checked + span { border-color: var(--preview-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--preview-primary) 13%, transparent); }
.quote-material-choice input:focus-visible + span { outline: 3px solid #2d6cdf55; outline-offset: 2px; }
.material-search-empty { padding: 18px; border-radius: 9px; background: #f3f6f8; color: #5f7280; }
.customer-quantity { display: grid; gap: 8px; max-width: 470px; color: #304b5e; font-size: .82rem; font-weight: 850; }
.customer-quantity > span { display: grid; grid-template-columns: 1fr auto; align-items: center; overflow: hidden; border: 1px solid #b9c9d3; border-radius: 10px; background: #f0f4f6; }
.customer-quantity input { border: 0; border-radius: 0; font-size: 1.1rem; }
.customer-quantity b { padding: 0 16px; color: #405e71; white-space: nowrap; }
.customer-quantity small { color: #667b89; font-weight: 600; }
.customer-load-count { margin-top: 18px; }
.customer-address { display: grid; grid-template-columns: 1fr 120px 150px; gap: 13px; }
.customer-address label { display: grid; gap: 7px; color: #314b5d; font-size: .8rem; font-weight: 850; }
.customer-address .full-field { grid-column: 1 / -1; }
.routing-commissioning-note,
.customer-review-note { margin: 18px 0 0; padding: 13px 15px; border-radius: 9px; background: #f3f6f8; color: #5e7281; font-size: .8rem; line-height: 1.5; }
.quote-step-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 28px; }
.quote-step-actions .button { min-width: 118px; min-height: 48px; background: var(--preview-primary); color: var(--preview-on-primary); }
.quote-step-actions .button.secondary { border: 1px solid #b8c7d0; background: #fff; color: #29485c; }
.customer-review { display: grid; gap: 0; border-block: 1px solid #dce5e9; }
.customer-review > div { display: grid; grid-template-columns: 150px 1fr; gap: 18px; padding: 14px 0; border-bottom: 1px solid #e6ecef; }
.customer-review > div:last-child { border-bottom: 0; }
.customer-review span { color: #687c89; }
.customer-review strong { color: #1c3547; }
.customer-quote-result { margin: 0 clamp(24px, 6vw, 58px) 52px; padding: 32px; border: 1px solid #cbd9df; border-top: 6px solid var(--preview-accent); border-radius: 15px; background: #fbfcfd; }
.customer-result-kicker { margin: 0 0 18px; color: #506c7d; font-size: .75rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.customer-result-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.customer-result-head h2 { margin: 0 0 4px; color: #152e41; font-size: clamp(1.45rem, 3vw, 2rem); }
.customer-result-head p { margin: 0; color: #617583; }
.customer-result-head > div:last-child { display: grid; justify-items: end; }
.customer-result-head small { color: #657986; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.customer-result-head > div:last-child strong { color: #142c3f; font-size: clamp(2.35rem, 6vw, 4.2rem); line-height: 1; }
.customer-result-head .customer-unit-rate { margin-top: 10px; color: #173b51; font-size: 1.05rem; font-weight: 750; }
.customer-service-inclusion { color: #506c7d; line-height: 1.5; }
.customer-line-items { margin: 25px 0 18px; border-block: 1px solid #dce5ea; }
.customer-line-items div { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid #e7edf1; }
.customer-line-items div:last-child { border-bottom: 0; }
.customer-line-items dd { margin: 0; font-weight: 850; }
.customer-result-note { color: #5f7482; line-height: 1.55; }
.customer-result-actions { display: flex; gap: 10px; margin-top: 22px; }
.result-stale { display: grid; gap: 2px; margin: -10px 0 22px; padding: 12px 14px; border-radius: 9px; background: #fff0ca; color: #684d0a; }
[data-stale-notice][hidden] { display: none !important; }
.customer-quote-result.is-stale > :not(.result-stale):not(.customer-result-actions) { opacity: .55; }
.customer-quote-unavailable { background: #fffdf8; }
.customer-quote-unavailable h2 { max-width: 650px; color: #1b3648; }
.customer-preview-footer { display: flex; align-items: center; gap: 8px; padding: 18px clamp(24px, 6vw, 58px); background: var(--preview-primary); color: var(--preview-on-primary); font-size: .78rem; }
.customer-preview-footer a { color: inherit; font-weight: 800; }
.customer-preview-footer small { margin-left: auto; opacity: .72; }
.preview-admin-panel { display: grid; gap: 20px; padding: 4px 0 30px; }
.preview-admin-panel[hidden],
.customer-preview-panel[hidden] { display: none !important; }
.admin-preview-status { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.admin-preview-status article,
.manual-route,
.admin-calculation-details,
.preview-admin-panel .recent-tests { padding: 22px; border: 1px solid #d2dde3; border-radius: 13px; background: #fff; }
.admin-preview-status article { display: grid; gap: 4px; }
.admin-preview-status small { color: #6b7c88; font-size: .68rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.admin-preview-status strong { color: #173044; }
.admin-preview-status span { color: #657986; font-size: .76rem; line-height: 1.45; }
.manual-route { min-width: 0; margin: 0; background: #f8fafb; }
.manual-route legend { padding: 0 8px; color: #173044; font-weight: 900; }
.manual-route legend span { margin-right: 8px; text-transform: uppercase; letter-spacing: .06em; }
.manual-route legend small { padding: 4px 7px; border-radius: 999px; background: #e9eef2; color: #5f7180; font-size: .68rem; text-transform: uppercase; }
.manual-route > p { margin: 0 0 14px; color: #607585; font-size: .82rem; }
.manual-route > div { display: grid; grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(150px, .8fr)); gap: 14px; }
.manual-route label { min-width: 0; display: grid; gap: 7px; color: #29485b; font-size: .8rem; font-weight: 800; }
.manual-route input { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #bdccd6; border-radius: 8px; background: #fff; color: #142c3f; font: inherit; }
.admin-calculation-details h3,
.preview-admin-panel .recent-tests h3 { margin-block: 2px 0; }
.diagnostic-outcome { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding: 14px; border-radius: 9px; background: #fff6df; color: #684f10; }
.recent-tests ul { display: grid; gap: 0; margin: 12px 0 0; padding: 0; list-style: none; }
.recent-tests li:not(.empty-state) { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 12px 0; border-top: 1px solid #e2e9ed; }
.recent-tests li span { color: #647785; font-size: .8rem; }
.test-engine-entry { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-left: 4px solid var(--tenant-accent); }
.test-engine-entry > div { max-width: 720px; }
.test-entry-status { display: inline-flex; gap: 8px; margin-top: 8px; color: #627583; font-size: .78rem; }
.test-entry-status strong { color: #173044; letter-spacing: .08em; }

@media (max-width: 900px) {
  .preview-admin-strip { align-items: stretch; flex-direction: column; }
  .preview-admin-strip > div:first-child { justify-content: space-between; }
  .preview-tabs { align-self: flex-start; }
  .customer-preview-panel { padding-inline: 0; }
  .customer-quote-shell { border-radius: 14px; }
  .admin-preview-status { grid-template-columns: 1fr; }
  .manual-route > div { grid-template-columns: 1fr 1fr; }
  .manual-route > div label:first-child { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  .preview-admin-strip > div:first-child,
  .test-engine-entry,
  .customer-result-head,
  .customer-result-actions { align-items: stretch; flex-direction: column; }
  .preview-tabs { width: 100%; }
  .preview-tabs button { flex: 1; }
  .customer-preview-panel { margin-inline: -14px; padding-top: 0; background: #fff; }
  .customer-quote-shell { border-inline: 0; border-radius: 0; box-shadow: none; }
  .customer-brand-head { padding-inline: 20px; }
  .customer-quote-intro,
  .quote-step-panel { padding-inline: 20px; }
  .quote-progress { margin-inline: 16px; }
  .quote-progress li strong { font-size: .58rem; }
  .quote-material-group > div,
  .customer-address,
  .manual-route > div { grid-template-columns: 1fr; }
  .customer-address .full-field,
  .manual-route > div label:first-child { grid-column: auto; }
  .quote-material-choice > span { min-height: 100px; }
  .quote-step-actions { display: grid; grid-template-columns: 1fr; }
  .quote-step-actions .button { width: 100%; }
  .customer-review > div { grid-template-columns: 1fr; gap: 4px; }
  .customer-quote-result { margin-inline: 20px; padding: 22px; }
  .customer-result-head > div:last-child { justify-items: start; margin-top: 18px; }
  .customer-result-actions .button,
  .test-engine-entry .button { width: 100%; }
  .customer-preview-footer { align-items: flex-start; flex-direction: column; }
  .customer-preview-footer small { margin-left: 0; }
  .diagnostic-outcome { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media (forced-colors: active) {
  .pill,
  .tenant-chip,
  .sidebar-context,
  .workspace-head {
    border: 1px solid CanvasText;
  }

  .tenant-chip > span,
  .brand-preview > div span {
    border: 2px solid CanvasText;
  }
}

.delivery-policy-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin:1.25rem 0 2rem; }
.delivery-policy-cards article { border:1px solid var(--border,#d7e0e7); border-radius:14px; padding:1rem; display:grid; gap:.3rem; background:#f8fafb; }
.delivery-policy-cards article small { color:#657486; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.delivery-scope,.pricing-basis-choices { border:0; padding:0; margin:1.25rem 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.75rem; }
.delivery-scope legend,.pricing-basis-choices legend { font-weight:800; margin-bottom:.75rem; }
.delivery-scope label,.pricing-basis-choices label { border:1px solid var(--border,#cbd7e0); border-radius:12px; padding:1rem; display:flex; gap:.75rem; align-items:flex-start; }
.delivery-scope label span,.pricing-basis-choices label span { display:grid; gap:.25rem; }
.delivery-scope small,.pricing-basis-choices small { color:#657486; line-height:1.4; }
.pricing-basis-choices input:disabled + span { color:#687985; }
.pricing-basis-choices a { color:#245a9c; font-size:.78rem; font-weight:800; margin-top:.3rem; }
.delivery-location { display:grid; gap:.45rem; max-width:520px; margin:1.5rem 0; color:#283e4f; font-size:.84rem; font-weight:750; }
.delivery-location select { width:100%; min-width:0; padding:12px 14px; border:1px solid #c7d3da; border-radius:8px; background:#fff; color:#162638; }
.delivered-rule-editor { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--border,#d7e0e7); }
.delivery-band-row { min-width:0; display:grid; grid-template-columns:2rem minmax(180px,1fr) minmax(180px,1fr) auto; gap:1rem; align-items:end; padding:.85rem 0; border-bottom:1px solid var(--border,#e2e8ed); }
.delivery-band-row label,.delivery-band-row .unit-input,.delivery-band-row .money-input,.delivery-band-row input { min-width:0; max-width:100%; }
.delivery-band-row .band-number { width:2rem; height:2rem; display:grid; place-items:center; border-radius:999px; background:#e9f0f5; font-weight:800; margin-bottom:.55rem; }
.band-heading { margin-top:1.5rem; }
.double-charge-notice { margin:1.5rem 0; }
.delivery-basis { display:block; font-weight:750; white-space:nowrap; }
.delivery-basis.muted { color:#697887; font-weight:600; }
.delivery-rate-setup { min-width:0; margin:1.5rem 0; border:1px solid #cbd8e1; border-radius:14px; background:#fff; }
.delivery-rate-setup > summary { cursor:pointer; padding:1.15rem 1.4rem; color:#173044; font-weight:800; }
.delivery-rate-setup > summary small { display:block; margin:.25rem 0 0 1.25rem; color:#657486; font-weight:500; }
.delivery-rate-setup > :not(summary) { min-width:0; margin:1rem; }
.delivery-rate-setup .customer-rate-scroll { max-width:100%; }
.delivery-rate-setup:focus-within { outline:2px solid #86a9d8; outline-offset:2px; }
.commercial-details { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; margin:1.25rem 0 0; }
.commercial-details div { min-width:0; padding:1rem; border:1px solid var(--border,#d7e0e7); border-radius:12px; background:#f8fafb; }
.commercial-details dt { color:#657486; font-size:.75rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.commercial-details dd { margin:.35rem 0 0; overflow-wrap:anywhere; color:#173044; font-weight:750; }
.resolver-result .metric-grid { margin-top:1.25rem; }
.danger-zone { border-color:#e8c7c2; background:#fffafa; }
.danger-zone .eyebrow { color:#98483d; }
.danger-zone .issue-list { margin-block:1rem; }

@media (max-width: 700px) {
  .delivery-scope,.pricing-basis-choices { grid-template-columns:1fr; }
  .delivery-band-row { grid-template-columns:2rem 1fr; }
  .delivery-band-row label { grid-column:2; }
  .delivery-band-row button { grid-column:2; justify-self:start; }
  .delivery-pricing-panel .catalog-save-bar { position:static; align-items:stretch; }
  .delivery-pricing-panel .catalog-save-bar div,.delivery-pricing-panel .catalog-save-bar button { width:100%; }
  .delivery-rate-setup > :not(summary) { margin:.5rem; }
  .commercial-details { grid-template-columns:1fr; }
}

/* Tenant administration: task-first navigation and calmer operating surfaces. */
.button,
button.button,
.admin-form > button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 11px 16px;
  border: 0;
  border-radius: 8px;
  background: var(--tenant-primary);
  color: var(--tenant-on-primary);
  font-size: .8rem;
  font-weight: 850;
  line-height: 1.2;
  text-decoration: none;
}

.button:disabled,
button.button:disabled,
.admin-form > button[type="submit"]:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.admin-more-nav {
  position: relative;
  margin-left: auto;
}

.admin-more-nav > summary {
  padding: 10px 14px;
  border-radius: 9px;
  color: #36536a;
  cursor: pointer;
  font-weight: 800;
  list-style-position: inside;
}

.admin-more-nav > summary:hover,
.admin-more-nav > summary:focus-visible,
.admin-more-nav > summary[aria-current="page"] {
  background: #e8f0fb;
  color: #173d65;
}

.admin-more-nav > div {
  position: absolute;
  z-index: 8;
  right: 0;
  width: min(290px, 82vw);
  padding: 8px;
  border: 1px solid #cbd8e1;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 14px 36px #17304424;
}

.admin-more-nav > div a {
  display: block;
}

.setup-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border: 1px solid #d7e1e8;
  border-left: 5px solid var(--tenant-accent);
  border-radius: 12px;
  background: #fff;
}

.setup-summary div {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

.setup-summary p,
.setup-summary span {
  margin: 0;
}

.setup-summary span {
  color: #607483;
  font-size: .8rem;
}

.admin-metrics a {
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid #d7e1e8;
  border-radius: 10px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.admin-metrics a:hover,
.admin-metrics a:focus-visible {
  border-color: #7da3c7;
  box-shadow: 0 0 0 3px #2d6cdf1a;
}

.admin-metrics a p,
.admin-metrics a span {
  margin: 0;
}

.admin-metrics a strong {
  display: block;
  margin: 7px 0 2px;
  font-size: 1.8rem;
}

.admin-metrics a span {
  color: #607483;
  font-size: .72rem;
  font-weight: 700;
}

.catalog-grid-table .material-cell {
  min-width: 245px;
}

.material-cell label {
  display: block;
}

.material-cell label + label {
  margin-top: 0;
}

.material-cell > small {
  display: block;
  margin-top: 6px;
  color: #697b88;
  font-size: .7rem;
  line-height: 1.35;
}

.workflow-links {
  display: flex;
  gap: 8px;
  margin: 16px 0 6px;
  padding-top: 14px;
  border-top: 1px solid #e2e9ee;
  flex-wrap: wrap;
}

.workflow-links a {
  padding: 7px 10px;
  border-radius: 8px;
  background: #f1f5f8;
  color: #315a79;
  font-size: .74rem;
  font-weight: 800;
  text-decoration: none;
}

.delivery-rule-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 16px;
}

.delivery-rule-grid > label {
  display: grid;
  align-content: start;
  gap: 7px;
  color: #283e4f;
  font-size: .82rem;
  font-weight: 750;
}

.delivery-rule-grid select {
  width: 100%;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #bccbd4;
  border-radius: 8px;
  background: #fff;
}

.inline-error {
  min-height: 1.2em;
  color: #a43b2c;
  font-size: .7rem;
  font-weight: 700;
}

[aria-invalid="true"] {
  border-color: #b93c27 !important;
  box-shadow: 0 0 0 2px #b93c2720;
}

.delivery-band-row .inline-error {
  grid-column: 2 / -1;
  margin-top: -10px;
}

.icon-button {
  width: 34px;
  height: 34px;
  margin-bottom: 5px;
  border: 1px solid #cad6de;
  border-radius: 8px;
  background: #fff;
  color: #566c7b;
  cursor: pointer;
  font-size: 1.3rem;
  line-height: 1;
}

.icon-button:hover,
.icon-button:focus-visible {
  border-color: #98483d;
  color: #98483d;
}

.delivery-summary {
  display: grid;
  gap: 5px;
  margin-top: 18px;
  padding: 14px 16px;
  border-left: 4px solid #7da3c7;
  border-radius: 8px;
  background: #f4f8fc;
}

.delivery-summary small {
  color: #627583;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.delivery-summary strong {
  color: #173044;
  line-height: 1.45;
}

.offering-source-fields {
  display: contents;
}

.offering-source-fields[hidden] {
  display: none;
}

.partner-access-details {
  margin-top: 18px;
}

.conversion-equation {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(150px, 1fr) auto minmax(120px, .7fr) minmax(150px, 1fr);
  align-items: end;
  gap: 10px;
  padding: 15px;
  border: 1px solid #d7e1e8;
  border-radius: 10px;
  background: #f8fafb;
}

.conversion-equation > span,
.conversion-equation > b {
  padding-bottom: 12px;
}

.compact-callout {
  display: flex;
  gap: 10px;
  margin-bottom: 18px;
  padding: 12px 16px;
  border: 1px solid #cfdce4;
  border-radius: 10px;
  background: #f4f8fc;
  color: #496476;
  font-size: .8rem;
  line-height: 1.45;
}

.compact-callout strong {
  color: #173044;
  white-space: nowrap;
}

.access-checklist {
  display: grid;
  gap: 0;
  margin: 20px 0;
  padding: 0;
  list-style: none;
}

.access-checklist li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid #e3eaef;
}

.access-checklist li > span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff5d9;
  color: #735c16;
  font-weight: 900;
}

.access-checklist li.complete > span {
  background: #e4f4e9;
  color: #276343;
}

.access-checklist small {
  color: #627583;
  font-weight: 750;
}

.danger-zone > summary,
.deletion-preflight > summary {
  cursor: pointer;
  color: #8a3d34;
  font-weight: 850;
}

.danger-zone[open] > summary,
.deletion-preflight[open] > summary {
  margin-bottom: 14px;
}

.deletion-preflight {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid #e7c7c2;
  border-radius: 9px;
  background: #fff;
}

@media (max-width: 900px) {
  .delivery-rule-grid {
    grid-template-columns: 1fr;
  }

  .conversion-equation {
    grid-template-columns: auto 1fr;
    align-items: center;
  }

  .conversion-equation > label {
    grid-column: 2;
  }

  .conversion-equation > b {
    grid-column: 1 / -1;
    padding: 0;
  }
}

@media (max-width: 760px) {
  .admin-section-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  .admin-section-nav > a {
    min-width: 0;
  }

  .admin-more-nav {
    margin-left: 0;
  }

  .setup-summary,
  .setup-summary div,
  .compact-callout {
    align-items: stretch;
    flex-direction: column;
  }

  .delivery-band-row .inline-error {
    grid-column: 2;
  }

  .access-checklist li {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .access-checklist small {
    grid-column: 2;
  }
}

@media (max-width: 480px) {
  .admin-section-nav {
    margin-inline: -10px;
    border-radius: 10px;
  }

  .admin-section-nav a,
  .admin-more-nav > summary {
    padding: 9px 11px;
    font-size: .76rem;
  }

  .setup-summary .button,
  .customer-access-panel .button-row,
  .customer-access-panel .button {
    width: 100%;
  }

  .admin-status-bar,
  .admin-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workflow-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

}

@media (max-width: 550px) {
  /* Keep the same form controls and table semantics, but make each row usable in the field. */
  .catalog-grid-wrap {
    overflow-x: visible;
  }

  .catalog-grid-table {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .catalog-grid-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .catalog-grid-table tbody {
    display: block;
  }

  .catalog-grid-table tbody tr:not([data-empty-grid]) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
    min-width: 0;
    margin-bottom: 12px;
    padding: 14px;
    border: 1px solid #d7e1e8;
    border-radius: 12px;
    background: #fff;
  }

  .catalog-grid-table tbody tr[hidden] {
    display: none;
  }

  .catalog-grid-table tbody tr:not([data-empty-grid]) > td {
    display: block;
    min-width: 0;
    padding: 0;
    border: 0;
    overflow-wrap: anywhere;
  }

  .catalog-grid-table tbody tr:not([data-empty-grid]) > td.hidden-cell {
    display: none;
  }

  .catalog-grid-table tbody tr:not([data-empty-grid]) > td:first-child,
  .catalog-grid-table tbody tr:not([data-empty-grid]) > td:nth-child(2):not(.hidden-cell),
  .catalog-grid-table tbody tr:not([data-empty-grid]) > td:last-child {
    grid-column: 1 / -1;
  }

  .catalog-grid-table tbody tr:not([data-empty-grid]) > td::before {
    display: block;
    margin-bottom: 4px;
    color: #526978;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .catalog-grid-table tbody tr:not([data-empty-grid]) > td:first-child::before { content: "Material"; }
  .catalog-grid-table tbody tr:not([data-empty-grid]) > td:nth-child(2)::before { content: "Location"; }
  .catalog-grid-table tbody tr:not([data-empty-grid]) > td:nth-child(3)::before { content: "Unit"; }
  .catalog-grid-table tbody tr:not([data-empty-grid]) > td:nth-child(4)::before { content: "Unit price"; }
  .catalog-grid-table tbody tr:not([data-empty-grid]) > td:nth-child(5)::before { content: "Available"; }
  .catalog-grid-table tbody tr:not([data-empty-grid]) > td:nth-child(6)::before { content: "Delivery"; }
  .catalog-grid-table tbody tr:not([data-empty-grid]) > td:nth-child(7)::before { content: "Status"; }

  .catalog-grid-table .material-cell,
  .catalog-grid-table input,
  .catalog-grid-table select,
  .catalog-grid-table .money-input {
    min-width: 0;
    max-width: 100%;
  }

  .catalog-grid-table .material-cell label {
    display: block;
  }

  .catalog-grid-table .money-input input {
    min-width: 0;
  }

  .catalog-grid-table input:not([type="hidden"]):not([type="checkbox"]),
  .catalog-grid-table select {
    min-height: 44px;
    font-size: 1rem;
  }

  .catalog-grid-table .compact-check,
  .catalog-grid-table .row-status details summary {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .catalog-grid-table .compact-check input {
    width: 24px;
    min-width: 24px;
    height: 24px;
  }

  .catalog-grid-table tbody tr[data-empty-grid] {
    display: block;
  }

  .catalog-grid-table tbody tr[data-empty-grid] td {
    display: block;
    min-width: 0;
    padding: 16px;
  }
}

/* One customer presentation serves public pricing and private Test. */
.shared-quote-engine main { width: min(100%, 920px); margin: 0 auto; padding: 24px; }
.shared-quote-engine .test-quote-layout { margin: 0; }
.shared-quote-engine .customer-quote-shell { width: 100%; }
.publication-action { display: block; margin: 0; padding: 0; }
.publication-blockers { padding-left: 24px; }
.publication-blockers li { margin: 12px 0; }
.publication-blockers li a { display: block; margin-top: 4px; }
.withdraw-service-form { border-top: 1px solid #d7e1e8; padding-top: 16px; margin-top: 12px; }
.maintenance-price-card { display: flex; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid #d7e1e8; color: inherit; text-decoration: none; }
.maintenance-price-card span { display: grid; gap: 5px; min-width: 0; }
.maintenance-price-card span:last-child { text-align: right; }
.maintenance-price-card b { font-size: .8rem; color: #205968; }
.single-price-editor .catalog-context, .single-price-editor [data-add-material] { display: none; }
.single-price-editor .catalog-grid-wrap { overflow: visible; }
.single-price-editor .catalog-grid-table { width: 100%; min-width: 0; }
.single-price-editor .catalog-grid-table .material-cell { min-width: 0; }
@media (max-width: 550px) {
  .shared-quote-engine main { padding: 8px; }
  .shared-quote-engine .customer-quote-shell { border-radius: 12px; }
  .publication-action, .publication-action button { width: 100%; }
  .maintenance-price-card { align-items: start; }
  .customer-availability-action { width: 100%; min-width: 0; }
  .customer-availability-form, .withdraw-service-form { width: 100%; min-width: 0; }
  .customer-availability-form button, .withdraw-service-form button { width: 100%; }
}
[data-test-quote-engine] [hidden] { display: none !important; }

/* Equipment approval and the shared quantity presentation. */
.equipment-material-scope { min-width: 0; padding: 18px; border: 1px solid #d5e0e7; border-radius: 10px; }
.equipment-material-scope > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; max-height: 340px; overflow-y: auto; }
.equipment-material-scope label, .admin-form .checkbox-label { display: flex; align-items: flex-start; gap: 9px; }
.equipment-material-scope input[type="checkbox"], .admin-form .checkbox-label input { width: auto; min-width: 18px; min-height: 18px; margin-top: 3px; }
.equipment-card details, .equipment-exception { margin-top: 18px; }
.equipment-card summary, .equipment-exception summary, .offering-transport summary { cursor: pointer; font-weight: 750; line-height: 1.5; }
.equipment-exception { padding: 16px 0; border-bottom: 1px solid #d5e0e7; }
.equipment-form .form-guidance, .offering-transport .form-guidance { overflow-wrap: anywhere; }
.customer-request-unit { display: grid; gap: 8px; max-width: 470px; margin-bottom: 18px; color: #304b5e; font-size: .82rem; font-weight: 850; }
.customer-request-unit select { min-width: 0; min-height: 50px; padding: 12px 14px; border: 1px solid #b9c9d3; border-radius: 9px; background: white; color: #142c3f; font: inherit; }
.customer-quantity > [data-load-count-label] { display: block; border: 0; background: transparent; border-radius: 0; }
.customer-quantity-basis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; margin: 22px 0; }
.customer-quantity-basis div { min-width: 0; }
.customer-quantity-basis dt { color: #516c7c; font-size: .8rem; }
.customer-quantity-basis dd { margin: 5px 0 0; color: #17324d; font-weight: 750; overflow-wrap: anywhere; }
@media (max-width: 550px) {
  .equipment-material-scope { padding: 12px; }
  .equipment-material-scope > div, .customer-quantity-basis { grid-template-columns: 1fr; }
  .equipment-card .section-head { align-items: flex-start; }
  .offering-transport select, .equipment-card input, .equipment-card select { max-width: 100%; }
}

.shared-quote-engine .customer-preview-panel { margin-inline: 0; }

.equipment-withdrawal { margin-top: 18px; border-top: 1px solid #d5e0e7; padding-top: 14px; }
.equipment-withdrawal summary { color: #8c3c29; }
.customer-request-unit small { font-weight: 500; line-height: 1.5; }

/* Guided first offering: use saved configuration and keep the next action clear. */
.guided-setup { max-width: 1080px; margin: 0 auto; }
.guided-intro { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin: 26px 0 20px; }
.guided-intro h2 { margin: 4px 0 10px; font-size: clamp(1.6rem, 3vw, 2.2rem); }
.guided-intro p { max-width: 760px; }
.guided-progress { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid #ccd9e2; border-radius: 12px; overflow: hidden; background: #fff; }
.guided-progress a { display: flex; gap: 10px; align-items: center; padding: 16px 12px; text-decoration: none; color: #18374a; border-right: 1px solid #dce5ec; min-width: 0; }
.guided-progress a:last-child { border-right: 0; }
.guided-progress a > span:first-child { flex: 0 0 27px; height: 27px; border: 1px solid #b7c9d5; border-radius: 50%; display: grid; place-items: center; font-size: .85rem; }
.guided-progress a[aria-current="step"] { background: #e9f3fc; box-shadow: inset 0 -3px #28649a; }
.guided-progress a[aria-current="step"] > span:first-child { color: #fff; background: #1b4a70; border-color: #1b4a70; }
.guided-progress strong, .guided-progress small { display: block; }
.guided-progress strong { font-size: .86rem; line-height: 1.25; }
.guided-progress small { margin-top: 4px; color: #566d7b; font-size: .74rem; }
.guided-progress-note { color: #5a6e7c; font-size: .86rem; margin: 10px 0 22px; }
.guided-stage { padding: clamp(20px, 3vw, 34px); }
.guided-stage > h2 { margin: 4px 0 12px; }
.guided-stage h3 { margin: 12px 0 8px; }
.guided-stage p { line-height: 1.55; }
.guided-form, .guided-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.guided-form { margin: 22px 0 28px; }
.guided-field { display: flex; flex-direction: column; gap: 7px; font-weight: 650; min-width: 0; }
.guided-field input, .guided-field select { min-width: 0; width: 100%; min-height: 46px; }
.guided-field small { font-weight: 400; color: #566d7b; font-size: .83rem; line-height: 1.5; }
.guided-wide, .guided-form-actions, .guided-approval { grid-column: 1 / -1; }
.guided-form details { padding: 16px; background: #f7fafc; border: 1px solid #dce6ed; border-radius: 9px; }
.guided-form details > summary { cursor: pointer; font-weight: 650; }
.guided-form details[open] > summary { margin-bottom: 18px; }
.guided-form-actions { display: flex; align-items: center; gap: 18px; padding-top: 7px; }
.guided-form-actions span { color: #566d7b; font-size: .84rem; }
.guided-approval { display: flex; align-items: flex-start; gap: 12px; padding: 16px; background: #eef5f8; border: 1px solid #cadde6; border-radius: 8px; font-weight: 500; }
.guided-approval input { width: 19px; height: 19px; flex: 0 0 19px; margin-top: 2px; }
.guided-path-form { margin-top: 28px; border-top: 1px solid #dbe5ec; padding-top: 24px; }
.guided-path-form fieldset { border: 0; padding: 0; margin: 0 0 20px; min-width: 0; }
.guided-path-form legend { font-weight: 750; font-size: 1.2rem; }
.guided-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.guided-path-card { display: flex; gap: 11px; padding: 17px; border: 1px solid #bdcedb; border-radius: 10px; background: #fff; cursor: pointer; min-width: 0; }
.guided-path-card:has(input:checked) { border-color: #28649a; background: #eef6ff; box-shadow: 0 0 0 1px #28649a; }
.guided-path-card input { width: 18px; height: 18px; flex: 0 0 18px; margin: 3px 0 0; }
.guided-path-card strong, .guided-path-card small, .guided-path-card span > span, .guided-path-card em { display: block; }
.guided-path-card strong { font-size: .96rem; line-height: 1.4; }
.guided-path-card small { margin: 8px 0; color: #3d5a6d; line-height: 1.5; }
.guided-path-card span > span { color: #536a78; font-size: .85rem; line-height: 1.55; }
.guided-path-card em { margin-top: 10px; color: #84501a; font-size: .82rem; line-height: 1.45; font-style: normal; }
.guided-assumptions { padding: 22px; margin: 24px 0; background: #f2f7fa; border: 1px solid #d7e3eb; border-radius: 12px; }
.guided-assumptions dl { margin: 18px 0; }
.guided-assumptions dl > div { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(0, 1.6fr); gap: 20px; padding: 13px 0; border-bottom: 1px solid #dae5ec; }
.guided-assumptions dt { color: #516977; }
.guided-assumptions dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.guided-assumptions dd a { white-space: nowrap; font-size: .82rem; margin-left: 8px; }
.guided-assumptions > p { font-size: .85rem; color: #5b6e79; }
.guided-issues > ul, .guided-saved-offerings > ul { list-style: none; padding: 0; }
.guided-issues li { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 17px 0; border-bottom: 1px solid #dae5ec; }
.guided-issues li > div { display: grid; gap: 5px; }
.guided-responsibility { font-size: .76rem; text-transform: uppercase; font-weight: 750; color: #8a571e; letter-spacing: .035em; }
.guided-issues li > a { flex-shrink: 0; }
.guided-issues > p, .guided-footer p { color: #596f7d; font-size: .85rem; }
.guided-next-action { margin: 24px 0; display: flex; gap: 18px; align-items: flex-start; flex-wrap: wrap; }
.guided-next-action > p { flex: 1 1 300px; margin: 0; }
.guided-footer { margin: 25px 0 35px; display: flex; gap: 12px; flex-wrap: wrap; }
.guided-footer > p { flex-basis: 100%; }
.guided-saved-offerings { padding: 17px 0; }
.guided-saved-offerings summary, .guided-new-source > summary { font-weight: 650; cursor: pointer; }
.guided-saved-offerings li { padding: 10px 0; }
.guided-new-source { margin-top: 25px; padding-top: 22px; border-top: 1px solid #dce5ec; }
.guided-handoff { padding: 20px; margin-top: 20px; background: #fff8ed; border: 1px solid #ebd5b4; border-radius: 10px; }
@media (max-width: 700px) {
  .guided-intro { flex-direction: column; gap: 5px; }
  .guided-progress { grid-template-columns: 1fr; }
  .guided-progress a { padding: 11px 14px; border-right: 0; border-bottom: 1px solid #dce5ec; }
  .guided-progress a:last-child { border-bottom: 0; }
  .guided-progress a > span:last-child { display: flex; flex: 1; align-items: baseline; justify-content: space-between; gap: 10px; }
  .guided-progress small { margin: 0; text-align: right; }
  .guided-form, .guided-form-grid, .guided-paths { grid-template-columns: 1fr; }
  .guided-stage { padding: 20px 16px; }
  .guided-form-actions, .guided-issues li { flex-direction: column; align-items: stretch; }
  .guided-form-actions .button, .guided-footer .button, .guided-next-action .button { width: 100%; text-align: center; white-space: normal; }
  .guided-assumptions { padding: 16px; }
  .guided-assumptions dl > div { grid-template-columns: 1fr; gap: 5px; }
  .guided-path-card { padding: 16px 12px; }
  .guided-footer { flex-direction: column; }
}

.guided-setup [hidden] { display: none !important; }
.guided-business-review > summary { cursor: pointer; font-weight: 650; }
.guided-saved-notice { padding: 14px 17px; border-left: 3px solid #397555; background: #f0f8f3; border-radius: 6px; }
.guided-publish-form { padding: 20px; margin-top: 24px; border: 1px solid #b9cfe0; border-radius: 10px; background: #eef6fd; }
.guided-publish-form p { margin-top: 0; }
.guided-test-return { max-width: 940px; margin: 25px auto; }
@media (max-width: 700px) {
  .guided-publish-form .button { width: 100%; white-space: normal; }
  .guided-test-return { margin: 18px 12px; }
}

/* Optional Owner customer-price presentation settings. */
.price-display-status { display: flex; gap: 24px; flex-wrap: wrap; margin: 24px 0; }
.price-display-status dt { color: #526777; font-size: .85rem; }
.price-display-status dd { margin: 5px 0 0; font-weight: 700; }
.price-display-options { border: 0; padding: 0; margin: 24px 0; min-width: 0; }
.price-display-options legend { font-weight: 700; margin-bottom: 16px; }
.price-display-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.price-display-choice { display: flex; flex-direction: column; gap: 12px; padding: 20px; border: 2px solid #cfdae3; border-radius: 12px; cursor: pointer; min-width: 0; }
.price-display-choice:has(input:checked) { border-color: #1f638f; background: #f1f8ff; }
.price-display-choice-heading { display: flex; align-items: flex-start; gap: 12px; }
.price-display-choice input { width: 18px; height: 18px; flex: 0 0 18px; margin: 2px 0; accent-color: #1f638f; }
.price-display-preview { border: 1px solid #d3dfe8; border-top: 4px solid #cf893e; background: #fff; color: #17324d; border-radius: 9px; padding: 20px; margin-top: 8px; }
.price-display-preview > p:first-child { font-size: .8rem; color: #536877; }
.price-display-preview h3 { font-size: .85rem; margin: 20px 0 4px; }
.price-display-total { display: block; font-size: 2rem; line-height: 1.2; }
.price-display-unit-rate { font-weight: 700; margin: 5px 0 15px; }
.price-display-preview dl > div { display: flex; justify-content: space-between; gap: 12px; margin: 14px 0; }
.price-display-preview dd { margin: 0; font-weight: 650; }
.price-display-preview small { display: block; font-size: .8rem; color: #536877; }
.guided-display-option h2 small { font-weight: 400; font-size: .8rem; color: #536877; }
.price-display-invalid { overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .price-display-choices { grid-template-columns: 1fr; }
  .price-display-choice { padding: 16px 12px; }
  .price-display-preview { padding: 16px; }
  .customer-price-display .button { width: 100%; white-space: normal; }
}

/* Commercial profiles and searchable supplier scope share the normal form layout. */
.equipment-classification { min-width: 0; }
.equipment-classification > .guided-form-grid, .equipment-classification > p { grid-column: 1 / -1; min-width: 0; }
.equipment-classification .guided-field { align-items: stretch; }
.equipment-classification [hidden], [data-partner-option][hidden] { display: none !important; }
[data-partner-picker] > p, [data-partner-picker] > div { grid-column: 1 / -1; min-width: 0; }
[data-partner-options] { display: grid; gap: 10px; }
[data-partner-options] label { overflow-wrap: anywhere; }

/* Shared address entry remains usable at ordinary phone widths. */
.address-entry { min-width: 0; border: 1px solid #cbd5d1; border-radius: 12px; padding: 16px; margin: 12px 0; }
.address-entry legend { font-weight: 700; padding: 0 5px; }
.address-entry label { display: grid; gap: 6px; min-width: 0; margin: 8px 0; }
.address-entry input,.address-entry select,.address-entry textarea { width: 100%; min-width: 0; box-sizing: border-box; font-size: 16px; }
.address-entry [hidden] { display: none !important; }
.address-components { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.address-suggestions { list-style: none; padding: 0; margin: 4px 0; border: 1px solid #81978d; border-radius: 8px; max-height: 300px; overflow: auto; }
.address-suggestions li { padding: 12px; cursor: pointer; min-height: 44px; box-sizing: border-box; border-bottom: 1px solid #dce4df; overflow-wrap: anywhere; }
.address-suggestions li[aria-selected="true"],.address-suggestions li:hover { background: #e2eee7; color: #102b20; }
.address-status { font-size: .9rem; overflow-wrap: anywhere; }
@media(max-width: 480px) { .address-components { grid-template-columns: 1fr; } .address-entry { padding: 12px; } }
