.workspace-auth {
  max-width: 600px;
}
/* Reflow the workspace header when zoom leaves too little room on one line. */
.shop-workspace .shop-header-inner {
  flex-wrap: wrap;
}
.workspace-actions,
.workspace-toolbar,
.workspace-tabs {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.workspace-actions button,
.workspace-secondary {
  min-height: 48px;
  padding: 12px 20px;
  font: inherit;
  cursor: pointer;
  border-radius: 8px;
}
.workspace-secondary {
  background: #fff;
  border: 1px solid #cfc9c6;
  color: #231f20;
}
.workspace-toolbar {
  justify-content: space-between;
  border-bottom: 1px solid #e3dedb;
  padding-bottom: 22px;
  margin-bottom: 20px;
}
.workspace-tabs {
  margin: 18px 0 30px;
}
.workspace-tabs button {
  border: 0;
  border-radius: 8px;
  background: #f3f1ef;
  padding: 13px 20px;
  font: inherit;
  cursor: pointer;
  min-height: 48px;
}
.workspace-tabs button[aria-current='true'] {
  background: #231f20;
  color: #fff;
}
.workspace-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.workspace-card {
  border: 1px solid #e3dedb;
  border-radius: 14px;
  padding: 26px;
  margin-bottom: 22px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.workspace-card h2 {
  font-size: 25px;
}
.workspace-heading h1,
.workspace-card h2,
.workspace-card h3,
.workspace-card h4 {
  letter-spacing: -0.02em;
  word-spacing: 0.06em;
}
.workspace-check {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 18px 0;
}
.workspace-check input[type='checkbox'] {
  width: 22px;
  min-width: 22px;
  min-height: 22px;
  margin: 2px 0 0;
}
/* Override the generic 54 px, full-width shop inputs for every workspace checkbox. */
.shop-workspace input[type='checkbox'],
.shop-workspace input[type='radio'] {
  appearance: auto;
  width: 21px;
  height: 21px;
  min-width: 21px;
  min-height: 21px;
  max-width: 21px;
  padding: 0;
  flex: 0 0 21px;
  accent-color: #e02725;
}
.shop-workspace label:has(> input[type='checkbox']),
.shop-workspace label:has(> input[type='radio']) {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 44px;
  line-height: 1.55;
  padding: 10px 0;
  margin: 6px 0;
  cursor: pointer;
}
.shop-workspace label:has(> input[type='checkbox']) input,
.shop-workspace label:has(> input[type='radio']) input {
  margin: 2px 0 0;
}
.catalogue-batch-toolbar,
.catalogue-review-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  align-items: center;
  margin: 20px 0;
}
.catalogue-review-summary {
  background: #f7f5f3;
  border-left: 4px solid #e02725;
  padding: 18px;
}
.catalogue-batch .workspace-table-wrap,
.settings-review-panel .workspace-table-wrap {
  max-width: 100%;
  max-height: min(65vh, 680px);
  border: 1px solid #e3dedb;
  border-radius: 8px;
  margin: 20px 0;
}
.catalogue-approval-table thead th,
.settings-comparison thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f6f4f2;
}
.catalogue-approval-table {
  min-width: 1270px;
}
.catalogue-approval-table td:nth-child(4) {
  min-width: 130px;
}
.catalogue-approval-table td:nth-child(7) {
  min-width: 150px;
}
.catalogue-approval-table th:nth-child(2) {
  min-width: 190px;
}
.catalogue-approval-table select {
  width: 185px;
  min-height: 48px;
  font-size: 15px;
  padding: 10px;
}
.catalogue-approval-table td:nth-child(6) select {
  width: 240px;
}
.catalogue-approval-table small {
  display: block;
  font-weight: 400;
  color: #655e5e;
  margin-top: 8px;
}
.catalogue-complete-classes,
.catalogue-destination-review {
  margin-top: 24px;
  padding: 20px;
  background: #faf9f7;
  border-radius: 10px;
}
.catalogue-complete-classes summary {
  cursor: pointer;
  font-weight: 650;
  min-height: 44px;
}
.settings-review-panel {
  scroll-margin-top: 110px;
  padding-top: 20px;
  border-top: 2px solid #e02725;
}
.settings-comparison {
  min-width: 780px;
}
.settings-comparison td,
.settings-comparison th {
  min-width: 120px;
  max-width: 260px;
  overflow-wrap: anywhere;
}
@media (max-width: 650px) {
  .catalogue-approval-table,
  .settings-comparison {
    display: block;
    min-width: 0;
  }
  .catalogue-approval-table thead,
  .settings-comparison thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
  .catalogue-approval-table tbody,
  .settings-comparison tbody {
    display: block;
  }
  .catalogue-approval-table tbody tr,
  .settings-comparison tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: 16px;
    border-bottom: 2px solid #e3dedb;
  }
  .catalogue-approval-table tbody th,
  .catalogue-approval-table tbody td,
  .settings-comparison tbody th,
  .settings-comparison tbody td {
    display: block;
    min-width: 0;
    max-width: none;
    padding: 10px 0;
  }
  .catalogue-approval-table tbody th,
  .settings-comparison tbody th {
    grid-row: 1;
    font-size: 17px;
    background: white;
  }
  .catalogue-approval-table [data-label]::before,
  .settings-comparison [data-label]::before {
    content: attr(data-label);
    display: block;
    font-size: 13px;
    font-weight: 650;
    color: #655e5e;
    margin-bottom: 5px;
  }
  .catalogue-approval-table select,
  .catalogue-approval-table td:nth-child(6) select {
    width: 100%;
  }
  .catalogue-approval-table .sr-only {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    clip: auto;
    white-space: normal;
  }
}
.workspace-card .item-specifications {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
}
.item-specifications dt {
  color: #655e5e;
}
.item-specifications dd {
  font-weight: 600;
}
.case-message {
  padding: 16px;
  background: #f7f5f4;
  border-radius: 8px;
  margin: 12px 0;
}
.case-message[data-author='texprim'] {
  border-left: 3px solid #e02725;
}
.case-message p {
  white-space: pre-wrap;
}
.quote-line-editor {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 18px;
  margin: 18px 0;
}
.commercial-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin: 24px 0;
}
.workspace-card h3 {
  font-size: 20px;
}
.workspace-card p,
.workspace-card li {
  line-height: 1.65;
}
.workspace-card dl {
  margin: 18px 0;
}
.workspace-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid #eee;
  padding: 10px 0;
  flex-wrap: wrap;
}
.workspace-card dd {
  margin: 0;
}
.workspace-badge {
  display: inline-block;
  border-radius: 5px;
  background: #f4efed;
  color: #514849;
  padding: 5px 9px;
  font-size: 13px;
  font-weight: 650;
}
.workspace-badge[data-status='ready'],
.workspace-badge[data-status='published'] {
  background: #eaf4ec;
  color: #246237;
}
.workspace-badge[data-status='quarantined'],
.workspace-badge[data-status='draft'] {
  background: #fff1db;
  color: #785316;
}
.workspace-table-wrap {
  overflow: auto;
}
.workspace-table {
  width: 100%;
  border-collapse: collapse;
}
.workspace-table th,
.workspace-table td {
  text-align: left;
  padding: 14px;
  border-bottom: 1px solid #e5e1df;
  vertical-align: top;
  font-size: 15px;
}
.workspace-table th {
  background: #f6f4f2;
}
.workspace-table button {
  font: inherit;
  cursor: pointer;
  color: #ab1e1c;
  background: white;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 9px;
  min-height: 40px;
}
.workspace-table td:first-child {
  font-weight: 650;
}
.workspace-card form .wizard-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 20px;
}
.workspace-card textarea {
  width: 100%;
  min-height: 110px;
  padding: 14px;
  font: inherit;
  border: 1px solid #ccc;
  border-radius: 7px;
}
.workspace-card pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 13px;
}
.workspace-privacy {
  font-size: 14px;
  line-height: 1.7;
  color: #635d5c;
  margin-top: 24px;
}
.workspace-privacy a {
  text-decoration: underline;
}
#workspace-notice:not(:empty) {
  background: #fff1ef;
  border-left: 3px solid #e02725;
  padding: 16px 20px;
  margin-bottom: 24px;
  line-height: 1.65;
}
#workspace-mfa {
  max-width: 620px;
  margin-bottom: 26px;
}
#workspace-mfa img {
  max-width: 240px;
  background: #fff;
}
#workspace-mfa code {
  display: block;
  overflow-wrap: anywhere;
  font-size: 17px;
  padding: 16px;
  background: #f4f2f0;
  margin: 14px 0;
}
.workspace-card .button {
  margin-top: 12px;
}
.workspace-timeline {
  padding-left: 22px;
}
.workspace-timeline li {
  padding-bottom: 12px;
}
.workspace-card input[type='file'] {
  font-size: 15px;
  min-height: 44px;
}
.workspace-card button:disabled {
  opacity: 0.6;
  cursor: wait;
}
@media (max-width: 750px) {
  .workspace-card .item-specifications {
    grid-template-columns: 1fr;
  }
  .workspace-grid {
    grid-template-columns: 1fr;
  }
  .workspace-card {
    padding: 20px 16px;
  }
  .workspace-card form .wizard-fields {
    grid-template-columns: 1fr;
  }
  .workspace-actions > * {
    width: 100%;
    justify-content: center;
  }
  .workspace-table th,
  .workspace-table td {
    padding: 12px 9px;
  }
  .workspace-heading h1 {
    font-size: 36px;
  }
  .workspace-toolbar p {
    width: 100%;
  }
  .workspace-tabs {
    gap: 7px;
  }
  .workspace-tabs button {
    padding: 12px 14px;
  }
}

.quote-financial-state {
  border-left: 3px solid #e02725;
  padding: 1rem;
  margin: 1.25rem 0;
  background: #faf8f7;
}
.quote-line-amounts {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid #ded8d6;
  border-radius: 10px;
}
.quote-description {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.case-message[data-unread='true'] {
  border-left-width: 5px;
}
.design-request {
  display: block;
  white-space: normal;
}

.publication-checks {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 0.8rem;
}
.publication-checks li {
  padding: 1rem;
  border-left: 3px solid #27634a;
  background: #f4f7f4;
}
.publication-checks li[data-check-state='missing'] {
  border-color: #e02725;
  background: #fff7f6;
}
.publication-checks p {
  margin: 0.5rem 0 0;
}

/* Phase 2 portal only; no change to the public landing page or its form. */
.workspace-signed-in .shop-heading {
  margin-bottom: 20px;
}
.workspace-signed-in .shop-heading h1 {
  font-size: clamp(26px, 4vw, 38px);
}
.workspace-signed-in .shop-heading > p:not(.eyebrow),
.workspace-signed-in .shop-heading > a {
  display: none;
}
.case-overview {
  margin-top: 20px;
  border-top: 4px solid #e02725;
}
.case-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.case-heading h2 {
  margin: 8px 0;
  font-size: clamp(24px, 4vw, 32px);
}
.case-reference {
  color: #625a5b;
  margin-top: 8px;
}
.case-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.case-total strong {
  color: #231f20;
  font-size: clamp(30px, 5vw, 42px);
  letter-spacing: -0.03em;
}
.quote-primary-actions {
  margin: 16px 0;
}
.quote-primary-actions .button {
  margin-top: 0;
}
.quote-next-step {
  padding: 16px;
  background: #eff6f0;
  border-left: 3px solid #27634a;
}
.quote-item-card,
.quote-editor-item {
  border: 1px solid #ddd6d4;
  border-radius: 10px;
  margin: 12px 0;
}
.quote-editor-item {
  padding: 0;
}
.quote-item-card > summary,
.quote-editor-item > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 18px 18px 18px 42px;
  position: relative;
  cursor: pointer;
  min-height: 64px;
  list-style: none;
}
.quote-item-card > summary::before,
.quote-editor-item > summary::before {
  content: '›';
  position: absolute;
  left: 18px;
  top: 17px;
  font-size: 24px;
  line-height: 1;
}
.quote-item-card[open] > summary::before,
.quote-editor-item[open] > summary::before {
  transform: rotate(90deg);
}
.quote-item-card > summary > span:first-child,
.quote-editor-item > summary > span:first-child {
  font-weight: 700;
}
.quote-item-content,
.quote-line-fields {
  padding: 0 20px 20px;
}
.workspace-card > summary {
  cursor: pointer;
  font-weight: 700;
  min-height: 32px;
}
.workspace-card > summary:not(:only-child) {
  margin-bottom: 8px;
}
.quote-editor-shell > summary {
  display: inline-flex;
  align-items: center;
}
.quote-editor-shell:not([open]) {
  display: none;
}
details.workspace-card:not([open]) {
  padding: 18px 22px;
  margin-bottom: 14px;
}
.manual-specifications {
  border: 1px solid #ded8d6;
  border-radius: 8px;
  padding: 16px;
  margin: 18px 0;
}
.manual-specifications legend {
  font-weight: 700;
}
.case-amount-detail > summary,
.case-shipping > summary,
.internal-draft-summary > summary {
  cursor: pointer;
  padding: 10px 0;
  font-weight: 650;
}
.internal-draft-summary {
  border-left: 3px solid #8b6226;
  padding-left: 16px;
}
.quote-file-guidance {
  color: #635d5c;
  font-size: 14px;
}
.portal-notifications {
  position: relative;
  margin-left: auto;
}
.portal-bell {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.notification-count {
  background: #c51e1d;
  color: #fff;
  border-radius: 99px;
  padding: 2px 7px;
  font-size: 13px;
  min-width: 23px;
}
#portal-notification-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: min(420px, calc(100vw - 40px));
  max-height: 65vh;
  overflow: auto;
  z-index: 30;
  background: white;
  box-shadow: 0 12px 38px #231f2026;
  border: 1px solid #ded8d6;
  border-radius: 12px;
  padding: 18px;
}
#portal-notification-panel h2 {
  font-size: 21px;
  margin: 0 0 12px;
}
.portal-notification-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.portal-notification-list button {
  width: 100%;
  display: grid;
  gap: 5px;
  text-align: left;
  border: 0;
  border-bottom: 1px solid #eee5e2;
  background: white;
  padding: 14px 12px;
  font: inherit;
  color: #231f20;
  cursor: pointer;
}
.portal-notification-list [data-unread='true'] button {
  background: #fff5f3;
  border-left: 3px solid #e02725;
}
.portal-notification-list small {
  color: #635d5c;
}
.shop-workspace :is(button, summary, a):focus-visible {
  outline: 3px solid #8b1716;
  outline-offset: 3px;
}
@media (max-width: 750px) {
  .workspace-signed-in .shop-heading > .eyebrow {
    display: none;
  }
  .workspace-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    max-width: 100%;
    padding-bottom: 4px;
  }
  .workspace-tabs > button {
    flex-shrink: 0;
    white-space: nowrap;
  }
  .quote-item-card > summary,
  .quote-editor-item > summary {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    padding-left: 38px;
  }
  .quote-primary-actions > button {
    width: 100%;
    justify-content: center;
  }
  .quote-item-content,
  .quote-line-fields {
    padding: 0 14px 16px;
  }
  .portal-notifications {
    margin-left: 0;
  }
  #portal-notification-panel {
    left: 0;
    right: auto;
  }
}

.dashboard-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 16px;
  margin: 26px 0;
}
.dashboard-metric {
  padding: 22px;
  text-align: left;
  border: 1px solid #dedad8;
  border-radius: 10px;
  background: #fff;
  color: #231f20;
  font: inherit;
  cursor: pointer;
  min-height: 120px;
}
.dashboard-metric span {
  display: block;
  line-height: 1.5;
}
.dashboard-metric strong {
  display: block;
  font-size: 32px;
  margin-top: 12px;
}
.dashboard-metric:hover,
.dashboard-metric[aria-pressed='true'] {
  border-color: #e02725;
  box-shadow: inset 0 0 0 1px #e02725;
}
.dashboard-heading [aria-pressed='true'] {
  border-color: #e02725;
  color: #b51e1c;
}
.order-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(260px, 1fr);
  gap: 30px;
}
.order-amount-summary {
  background: #faf9f8;
  padding: 20px;
  border-radius: 8px;
  align-self: start;
}
.order-item-summary {
  border-top: 1px solid #e8e4e2;
  padding: 20px 0;
}
.order-item-summary h4 {
  font-size: 18px;
  margin: 0;
  line-height: 1.6;
}
.order-item-number {
  font-size: 13px;
  background: #f3efed;
  padding: 4px 8px;
  margin-right: 8px;
  white-space: nowrap;
}
.order-section-nav {
  display: flex;
  gap: 12px 24px;
  flex-wrap: wrap;
  margin: 24px 0;
  padding: 20px 0;
  border-block: 1px solid #dedad8;
}
.order-section-nav a {
  text-underline-offset: 5px;
}
.case-reference,
.workspace-table [data-order] {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}
.order-overview .checkout-status-dimensions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  background: #faf9f8;
  border-radius: 8px;
  padding: 20px;
  margin: 24px 0;
}
.order-overview .checkout-status-dimensions dd {
  margin: 10px 0 0;
  font-weight: 650;
}
.workspace-table [data-order] {
  min-width: 95px;
}
@media (max-width: 900px) {
  .order-overview-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .order-overview .checkout-status-dimensions {
    grid-template-columns: 1fr;
  }
  .dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .dashboard-metric {
    padding: 16px;
    font-size: 14px;
  }
  .case-reference {
    font-size: 19px;
  }
}

.auth-flow {
  max-width: 660px;
  margin: 32px auto;
}
.auth-flow h2 {
  font-size: 26px;
  line-height: 1.3;
  letter-spacing: -0.015em;
}
.auth-flow form {
  display: grid;
  gap: 22px;
  margin-top: 24px;
}
.auth-flow input {
  width: 100%;
  min-height: 54px;
  font: inherit;
  font-size: 17px;
  padding: 14px;
}
.auth-flow p {
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.auth-flow .button {
  min-height: 54px;
  justify-content: center;
  white-space: normal;
}
.auth-help {
  text-align: center;
  line-height: 1.8;
}
.auth-recovery-link {
  display: inline-block;
  padding: 12px 0;
  text-underline-offset: 4px;
}
@media (max-width: 600px) {
  .auth-flow {
    padding: 22px;
  }
}


/* Shared compact search for customer orders, admin orders and quotes. */
.shop-workspace .workspace-search{padding:14px 16px;margin:16px 0 22px;border:1px solid #e6dfdc;border-radius:12px;background:#faf9f8}
.workspace-search-main{display:grid;grid-template-columns:minmax(180px,2fr) minmax(130px,1fr) minmax(150px,1fr) auto;gap:12px;align-items:end}
.shop-workspace .workspace-search label{display:flex;flex-direction:column;gap:5px;margin:0;min-width:0;font-size:13px;line-height:1.4;color:#514845}
.shop-workspace .workspace-search input,.shop-workspace .workspace-search select{height:42px;min-height:42px;width:100%;min-width:0;box-sizing:border-box;padding:8px 11px;margin:0;border:1px solid #cfc9c6;border-radius:7px;background:#fff;font:inherit;font-size:14px;color:#231f20}
.shop-workspace .workspace-search input:focus-visible,.shop-workspace .workspace-search select:focus-visible{outline:2px solid #e02725;outline-offset:2px}
.shop-workspace .workspace-search .workspace-search-submit{height:42px;min-height:42px;padding:8px 18px;margin:0;font-size:14px;white-space:nowrap}
.workspace-search-footer{display:flex;justify-content:space-between;gap:16px;margin-top:10px;align-items:flex-start}
.workspace-search-more{min-width:0;flex:1}
.workspace-search-more summary{width:fit-content;cursor:pointer;font-size:13px;font-weight:500;color:#5d514c}
.workspace-search-dates{display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:12px;margin-top:12px}
.shop-workspace .workspace-search-reset{border:0;background:none;text-decoration:underline;color:#65534e;padding:0;font:inherit;font-size:13px;cursor:pointer}
.workspace-secondary-loading{font-size:14px;color:#6c615c;padding:12px 0}
@media(max-width:760px){.workspace-search-main{grid-template-columns:1fr 1fr}.workspace-search-query{grid-column:1/-1}.shop-workspace .workspace-search .workspace-search-submit{grid-column:1/-1}.workspace-search-dates{grid-template-columns:1fr 1fr}}
