:root {
  --bg: #f6f1e8;
  --bg-wash: #f4eee4;
  --paper: #ffffff;
  --ink: #1d1916;
  --muted: #6d655c;
  --soft: #9a9186;
  --line: #e4dbcd;
  --line-strong: #d2c6b4;
  --field: var(--bg);
  --accent: #c0392b;
  --accent-deep: #9d2418;
  --accent-soft: #f8ece9;
  --focus: #c0392b;
  --ok: #2f6b3a;
  --ok-soft: #e8f4ea;
  --err: #9d2418;
  --err-soft: #f8e8e5;
  --radius: 16px;
  --radius-sm: 10px;
  --shadow: 0 1px 2px rgba(29, 25, 22, 0.04), 0 10px 28px rgba(29, 25, 22, 0.06);
  --font: "Source Sans 3", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --staff-wrap: 1100px;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  forced-color-adjust: none;
}
html.reprint-picker-open,
body.reprint-picker-open,
html.order-gate-open,
body.order-gate-open {
  overflow: hidden;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(1200px 420px at 50% -80px, rgba(192, 57, 43, 0.05), transparent 60%),
    var(--bg);
  color: var(--ink);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.5;
}

a {
  color: var(--ink);
  text-decoration-color: var(--line-strong);
}

a:hover { color: var(--accent-deep); }

.lab-banner {
  display: none;
}

.site-header {
  display: block;
  padding: 0;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}

.header-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

.header-cluster {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px 12px;
  width: 100%;
  max-width: none;
}

.header-menu {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  gap: 6px;
  min-width: 0;
}

.header-logo {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 0;
  text-decoration: none;
}

.brand-logo {
  display: block;
  height: 30px;
  width: auto;
  max-width: min(160px, 34vw);
  background: transparent;
  mix-blend-mode: multiply;
}

.header-logo .brand-logo {
  height: 34px;
  max-width: none;
}

.primary-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-self: center;
  gap: 4px;
  flex-wrap: nowrap;
  margin: 0;
}

.header-menu > .primary-nav:not(.header-account) {
  justify-self: auto;
}

.header-account {
  grid-column: 3;
  justify-self: end;
  justify-content: flex-end;
  margin-left: 0;
}

.signed-in-name {
  padding: 8px 10px;
  color: var(--soft);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}

.primary-nav a {
  display: inline-flex;
  align-items: center;
  padding: 14px 12px 12px;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
  text-decoration: none;
  letter-spacing: 0;
  text-transform: none;
  font-size: 16px;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
}

.primary-nav a:hover { color: var(--accent-deep); background: transparent; }

.primary-nav a[aria-current="page"] {
  color: var(--accent-deep);
  background: transparent;
  box-shadow: none;
  border-bottom-color: var(--accent);
}

.nav-sub {
  position: relative;
  display: flex;
  align-items: center;
  align-self: center;
}

.nav-sub > a,
.nav-sub-trigger {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.nav-sub-menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 220px;
  padding: 8px;
  background: var(--paper);
  box-shadow: var(--shadow);
  border-radius: 10px;
  z-index: 40;
  flex-direction: column;
  gap: 2px;
}

.nav-sub:hover .nav-sub-menu,
.nav-sub:focus-within .nav-sub-menu {
  display: flex;
}

.nav-sub-menu a {
  text-transform: none;
  letter-spacing: 0;
  border-radius: 8px;
  white-space: nowrap;
}

.nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}

.nav-toggle-icon,
.nav-toggle-icon::before,
.nav-toggle-icon::after {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
}

.nav-toggle-icon { position: relative; }

.nav-toggle-icon::before,
.nav-toggle-icon::after {
  content: "";
  position: absolute;
  left: 0;
}

.nav-toggle-icon::before { top: -6px; }
.nav-toggle-icon::after { top: 6px; }

.desk-nav {
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}

.desk-nav-inner {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 4px 16px 6px;
  box-sizing: border-box;
}

.desk-nav-inner > .preview-working {
  margin: 0 0 8px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #efe6d6;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 650;
}

.desk-nav-inner > .preview-working.preview-failed {
  background: #f8e4d8;
  color: #8a3d12;
}

.desk-nav .queue-tabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2px;
  margin: 0;
}

.desk-nav .queue-tabs a {
  padding: 12px 14px 10px;
  border-radius: 0;
  letter-spacing: 0;
  text-transform: none;
  font-size: 16px;
  font-weight: 650;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
  border-bottom: 2px solid transparent;
}

.desk-nav .queue-tabs a:hover {
  color: var(--accent-deep);
  background: transparent;
}

.desk-nav .queue-tabs a[aria-current="page"] {
  color: var(--accent-deep);
  background: transparent;
  box-shadow: none;
  border-bottom-color: var(--accent);
}

.desk-nav .nav-count {
  display: inline-flex;
  min-width: 1.4em;
  margin-left: 8px;
  padding: 1px 8px;
  border-radius: 999px;
  background: #f3eee6;
  color: #111;
  font-size: 16px;
  font-weight: 700;
}

.page {
  max-width: 920px;
  margin: 0 auto;
  padding: 8px 20px 96px;
}

.page-wide { max-width: 1100px; }
.page-clients { max-width: 1240px; }

.page-intro {
  text-align: center;
  margin: 8px 0 28px;
}

.page-intro h1 {
  margin: 0 0 8px;
  font-size: clamp(28px, 4vw, 36px);
  font-weight: 600;
  letter-spacing: -0.03em;
}

.lede {
  margin: 0 auto 18px;
  max-width: 520px;
  color: var(--muted);
  font-size: 16px;
}

.steps {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}

.steps li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 253, 249, 0.7);
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}

.steps li span {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 11px;
}

.panel {
  background: var(--paper);
  border: 0;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 26px 28px 28px;
  margin: 0 0 18px;
}

.panel-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
}

.step-num {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--accent-soft);
  color: var(--accent-deep);
  font-weight: 700;
  font-size: 14px;
}

.panel-head h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 650;
  letter-spacing: -0.02em;
}

.panel-head p,
.section-copy {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

label, .field-label, legend {
  display: block;
  font-weight: 650;
  font-size: 13px;
  color: #3d3833;
  margin: 0 0 6px;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.req { color: var(--accent); font-weight: 700; }

.hint {
  display: block;
  margin-top: 6px;
  color: var(--soft);
  font-size: 12px;
  font-weight: 400;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
select,
textarea,
.color-trigger {
  display: block;
  width: 100%;
  margin-top: 0;
  padding: 12px 14px;
  border: 0;
  border-radius: 12px;
  background-color: var(--field);
  color: var(--ink);
  font: inherit;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: inset 0 0 0 1px #d8ccb8;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236d655c' d='M1 1.5L6 6.5L11 1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
  padding-right: 32px;
}

textarea { min-height: 72px; resize: vertical; }

input:hover, select:hover, textarea:hover, .color-trigger:hover:not(:disabled) {
  background-color: #eee4d4;
}

input:focus, select:focus, textarea:focus, .color-trigger:focus {
  outline: none;
  background-color: #fff;
  box-shadow: inset 0 0 0 1px var(--focus), 0 0 0 4px rgba(192, 57, 43, 0.12);
}

.row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 16px;
  align-items: flex-start;
  justify-content: flex-start;
}

.row > label, .row > fieldset, .row > .field { margin: 0; }

.grow { flex: 1 1 220px; }
.field-xs { flex: 0 0 88px; max-width: 88px; }
.field-sm { flex: 0 0 168px; max-width: 188px; }
.field-width { flex: 0 0 168px; max-width: 180px; }
.field-md { flex: 0 0 240px; max-width: 280px; }
.field-insurance { flex: 0 1 220px; max-width: 240px; }
.field-insurance .hint { display: block; margin-top: 6px; }
.field-email { max-width: 420px; }
.order-type-field { flex: 1.7 1 0; min-width: 280px; }
.tight { margin-top: 16px; }

.order-fields {
  justify-content: space-between;
}

.order-fields > label,
.order-fields > fieldset {
  flex: 1 1 0;
  max-width: none;
  min-width: 0;
}

.order-type-row {
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
}

.order-type-row .question-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.order-type-row .question-card legend {
  float: none;
  width: auto;
  padding: 0;
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 650;
}

.order-type-row .order-type-field {
  flex: 0 0 auto;
  min-width: 0;
}

.order-type-row .pills {
  flex-wrap: nowrap;
  align-items: center;
}

.order-type-row .due-date-field {
  flex: 1 1 auto;
  min-width: 0;
}
.due-date-control {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 38px;
}
.date-choice-pills {
  flex: 0 0 auto;
  flex-wrap: nowrap;
}
.order-type-row .pill span {
  height: 38px;
  min-height: 38px;
  padding: 6px 12px;
  box-sizing: border-box;
  background: var(--field);
}
.due-date-control input[type="date"] {
  flex: 0 0 168px;
  width: 168px;
  height: 38px;
  min-height: 38px;
  min-width: 168px;
  max-width: 168px;
  margin: 0;
  padding: 0 8px;
  background: var(--field);
  font-size: 17px;
  line-height: 38px;
}
.due-date-field .hint {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  align-self: center;
  white-space: normal;
  font-size: 15px;
  line-height: 1.35;
}
.due-date-field .hint u {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 2px;
}
.label-date-note {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--err-soft);
  color: var(--ink);
  font-size: 15px;
  font-weight: 450;
  line-height: 1.4;
}
.label-date-note p { margin: 0 0 8px; }
.label-date-note ul { margin: 0 0 12px; padding-left: 18px; }
.label-date-note li { margin: 4px 0; }
.label-date-note .btn-add { font-weight: 650; }

.pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pill {
  position: relative;
  margin: 0;
  font-weight: 600;
}

.pill input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.pill span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 6px 14px;
  border: 1px solid #d8ccb8;
  border-radius: 999px;
  background: var(--field);
  color: var(--ink);
  cursor: pointer;
  transition: 0.15s ease;
}

.pill input:focus-visible + span {
  box-shadow: 0 0 0 4px rgba(192, 57, 43, 0.12);
}

.pill input:checked + span {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.choice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
}

.choice-card {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #e2d6c4;
  border-radius: 12px;
  background: var(--field);
  font-weight: 500;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.choice-card input { margin-top: 3px; accent-color: var(--accent); width: auto; }
.choice-card:hover { border-color: var(--line-strong); }
.choice-card:has(input:checked) {
  border-color: #e2b3ac;
  background: var(--accent-soft);
}

.reprint-box {
  margin-top: 14px;
  padding: 14px;
  border-radius: 12px;
  background: var(--bg-wash);
  border: 1px solid var(--line);
}

.reprint-styles { margin-top: 12px; }
.reprint-styles label { display: block; margin: 4px 0; }

.saved-ship { margin: 0 0 14px; }

.client-search { display: grid; gap: 6px; max-width: 420px; margin: 0 0 10px; font-weight: 600; }
.client-search input { font-weight: 400; }
.client-count { margin: 0 0 12px; }
.client-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.client-list .client-card {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
.client-list .client-card[hidden] { display: none !important; }
.dropbox-match[hidden],
.dropbox-folder-list li[hidden] {
  display: none !important;
}
.dropbox-match {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
}
.dropbox-pick { display: flex; gap: 8px; align-items: center; }
.dropbox-pick input { min-width: 220px; }
.dropbox-folder-list { margin: 0; padding-left: 18px; columns: 2; }
.dropbox-folder-list li { break-inside: avoid; margin: 0 0 6px; }
.dropbox-assign {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.dropbox-assign h3 { margin: 0 0 8px; font-size: 16px; }
.dropbox-assign-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 16px;
  padding: 12px 14px;
  background: var(--field);
  border-radius: 12px;
}
.dropbox-assign-summary { margin: 0; font-weight: 650; }
.dropbox-pick-list {
  display: grid;
  gap: 6px;
  max-height: 560px;
  overflow: auto;
  padding-right: 4px;
}
.dropbox-pick-row {
  display: grid;
  gap: 2px;
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--paper);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.dropbox-pick-row span { color: var(--muted); font-size: 13px; }
.dropbox-pick-row.is-selected {
  background: var(--field);
  box-shadow: inset 0 0 0 2px var(--accent);
}
.dropbox-pick-row[hidden] { display: none !important; }
.dropbox-suggest {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.dropbox-suggest-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2px;
  min-width: 0;
  padding: 16px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
}
.dropbox-suggest-kicker {
  margin: 10px 0 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.dropbox-suggest-card .dropbox-suggest-kicker:first-child { margin-top: 0; }
.dropbox-suggest-name {
  display: block;
  overflow-wrap: anywhere;
  font-size: 16px;
}
.dropbox-suggest-card form { margin-top: 12px; }
.dropbox-suggest-card .btn-secondary { width: 100%; }
.possible-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0 0 16px;
}
.possible-tools-end { margin: 16px 0 0; }
.possible-pick {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-weight: 650;
  cursor: pointer;
}
.possible-pick input { width: 18px; height: 18px; margin: 0; }
.dropbox-suggest-card.is-picked { box-shadow: inset 0 0 0 2px var(--accent); }
@media (max-width: 800px) {
  .dropbox-assign { grid-template-columns: 1fr; }
  .dropbox-assign-bar { align-items: stretch; flex-direction: column; }
  .dropbox-suggest { grid-template-columns: 1fr; }
}
.design-grid {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
}
.design-grid li {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px;
  background: var(--paper);
}
.design-grid img[hidden] { display: none !important; }
.design-grid img {
  display: block;
  width: 100%;
  height: 140px;
  object-fit: contain;
  background: #fff;
  border-radius: 8px;
}
.mock-grid li {
  padding: 0 0 12px;
  overflow: hidden;
}
.design-grid.mock-grid img {
  height: auto;
  aspect-ratio: 11 / 8.5;
  object-fit: cover;
  object-position: top center;
  border-radius: 13px 13px 0 0;
}
.design-grid.mock-grid img.garment-shot {
  aspect-ratio: auto;
  height: auto;
  max-height: 460px;
  object-fit: contain;
  object-position: center top;
}
.design-grid.mock-grid .mock-frame img {
  display: none;
  width: 100%;
  height: auto;
  max-height: 420px;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center top;
  border-radius: 0;
  background: #fff;
}
.design-grid.mock-grid .mock-frame img.is-current { display: block; }
.mock-frame { position: relative; background: #fff; }
.mock-frame-detail { width: min(100%, 420px); margin: 0 auto 18px; }
.mock-frame-detail img { display: none; width: 100%; height: auto; background: #fff; }
.mock-frame-detail img.is-current { display: block; }
.mock-slider-btn {
  position: absolute;
  top: 42%;
  z-index: 2;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
  color: #222;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.mock-slider-btn.is-prev { left: 8px; }
.mock-slider-btn.is-next { right: 8px; }
.mock-garments {
  display: block;
  width: min(100%, 420px);
  height: auto;
  margin: 0 auto 18px;
  background: #fff;
}
.mock-grid .client-card-name,
.mock-grid .client-card-meta {
  padding-left: 12px;
  padding-right: 12px;
}
.mock-grid .client-card-name { margin-top: 10px; }
.client-search button { justify-self: start; }

.mock-search {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding: 4px 4px 4px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: #fff;
}
.mock-search input,
.mock-search select {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-weight: 400;
  font-size: 16px;
  padding: 10px 0;
  outline: none;
  box-shadow: none;
}
.mock-search select { flex: 0 1 240px; padding-right: 8px; }
.mock-search .client-filter { flex: 0 1 11rem; max-width: 11rem; }
.reprint-box .btn-add { margin-top: 4px; }
.reprint-picked {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.reprint-picked:empty { display: none; }
.reprint-chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 4px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
  font-size: 13px;
  font-weight: 650;
}
.reprint-picker-panel {
  width: min(1240px, calc(100vw - 40px));
  height: calc(100vh - 40px);
  max-height: calc(100vh - 40px);
  display: flex;
  flex-direction: column;
  padding: 22px 22px 18px;
  border-radius: 18px;
}
.reprint-picker-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  margin: 0 0 16px;
}
.reprint-picker-head h2 {
  margin: 0;
  width: 100%;
  text-align: center;
  font-size: 22px;
  letter-spacing: -0.03em;
}
.reprint-picker-lede {
  margin: 0;
  max-width: 36rem;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.4;
  text-align: center;
}
.po-dup-panel.past-preview-panel {
  width: min(920px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-top: 48px;
}
.past-preview-panel img {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
  border-radius: 8px;
}
.past-preview-panel .submit { align-self: flex-start; }
.past-preview-status { margin: 0; color: var(--err); }
.reprint-neck { margin-top: 8px; }

.po-dup-panel.reprint-picker-panel .reprint-picker-x,
.po-dup-panel.past-preview-panel .reprint-picker-x {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #8a8178;
  appearance: none;
  cursor: pointer;
  line-height: 0;
}
.po-dup-panel.reprint-picker-panel .reprint-picker-x:hover,
.po-dup-panel.reprint-picker-panel .reprint-picker-x:focus-visible,
.po-dup-panel.past-preview-panel .reprint-picker-x:hover,
.po-dup-panel.past-preview-panel .reprint-picker-x:focus-visible {
  background: none;
  color: #1d1916;
  outline: none;
}
.reprint-picker-search {
  width: min(420px, 100%);
  margin: 0 auto 18px;
}
.reprint-picker-search input,
.reprint-picker-search input:hover,
.reprint-picker-search input:focus {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  outline: none;
  background: transparent;
  box-shadow: none;
}
.reprint-picker-status {
  min-height: 0;
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 14px;
}
.reprint-picker-status:empty { display: none; }
.reprint-picker-results.design-grid.mock-grid {
  flex: 1;
  min-height: 0;
  margin-top: 0;
  max-height: none;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 2px;
  align-content: start;
  grid-auto-rows: max-content;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.style-card.is-reprint-style {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  column-gap: 22px;
  align-items: start;
}
.style-card.is-reprint-style .style-card-head,
.style-card.is-reprint-style .size-block,
.style-card.is-reprint-style .qty-line,
.style-card.is-reprint-style [data-print-block] {
  grid-column: 1 / -1;
}
.reprint-mock .mock-frame img {
  display: none;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: contain;
  background: #fff;
}
.reprint-mock .mock-frame img.is-current { display: block; }
.reprint-mock .see-proof {
  margin-top: 8px;
}
.same-last { margin: 0 0 12px; }
.reprint-picker-results > li.mock-card {
  height: auto;
  min-height: max-content;
}
.style-card.is-reprint-style {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  column-gap: 22px;
  align-items: start;
}
.style-card.is-reprint-style .style-card-head,
.style-card.is-reprint-style .size-block,
.style-card.is-reprint-style .qty-line,
.style-card.is-reprint-style [data-print-block] {
  grid-column: 1 / -1;
}
.reprint-mock .mock-frame img {
  display: none;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: contain;
  background: #fff;
}
.reprint-mock .mock-frame img.is-current { display: block; }
.reprint-mock .see-proof { margin-top: 8px; }
.same-garment {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin: 0 0 14px;
  padding: 8px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 16px;
  font-weight: 650;
  cursor: pointer;
}
.same-garment-mark {
  width: 18px;
  height: 18px;
  border: 1.5px solid #8a8178;
  border-radius: 4px;
  background: #fff;
}
.same-garment.is-on {
  border-color: #2f6b3a;
  color: #1f4d28;
  background: #e8f4ea;
}
.same-garment.is-on .same-garment-mark {
  border-color: #2f6b3a;
  background: #2f6b3a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.2l3 3.1 6-6.4' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.reprint-pager {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 12px;
}
.reprint-pager-nav {
  display: flex;
  align-items: center;
  gap: 12px;
}
.reprint-pager-nav[hidden] { display: none; }
.reprint-picker-done {
  min-height: 46px;
  padding: 8px 20px;
  border: 0;
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  font: inherit;
  font-size: 18px;
  font-weight: 650;
  cursor: pointer;
}
.reprint-pager[hidden] { display: none; }
.reprint-pager button {
  min-height: 46px;
  padding: 8px 20px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 18px;
  font-weight: 650;
  cursor: pointer;
}
.reprint-pager button:disabled { opacity: 0.4; cursor: default; }
.reprint-pager span { color: var(--ink); font-size: 18px; font-weight: 650; }
.reprint-picker-results .client-card-name { font-size: 18px; }
.reprint-picker-results .client-card-meta { font-size: 16px; }
.reprint-picker-empty {
  grid-column: 1 / -1;
  margin: 8px 4px;
  color: var(--muted);
}
.reprint-pick {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
.reprint-pick:hover { border-color: var(--line-strong); }
.reprint-pick.is-added {
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px var(--accent);
}
.reprint-pick img {
  width: 100%;
  height: 140px;
  object-fit: contain;
  background: #f6f3ee;
}
.reprint-pick img[hidden] { display: none; }
.reprint-pick strong,
.reprint-pick span {
  display: block;
  padding: 0 12px;
}
.reprint-pick strong {
  margin-top: 10px;
  font-size: 14px;
}
.reprint-pick span {
  margin: 4px 0 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
}
.reprint-pick.is-added span { color: var(--accent-deep); font-weight: 650; }
.reprint-pick-back { grid-column: 1 / -1; justify-self: start; }

.reprint-ask { display: grid; gap: 12px; margin-top: 12px; }
.reprint-ask[hidden] { display: none; }
.reprint-ask-card {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}
.reprint-ask-card img { width: 160px; height: 120px; object-fit: contain; background: #fff; }
.reprint-ask-card p { margin: 4px 0 8px; }
.mock-search input:hover,
.mock-search input:focus,
.mock-search select:hover,
.mock-search select:focus {
  outline: none;
  background: transparent;
  box-shadow: none;
}
.mock-search button { flex: none; }
.mock-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.design-grid.mock-grid > li { min-width: 0; }
.art-files-page { padding-top: 4px; }
.art-files-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
}
.art-files-head h2 {
  margin: 0;
  flex: none;
  font-size: 22px;
  letter-spacing: -0.02em;
}
.art-files-head .mock-search {
  flex: 1;
  margin: 0;
  min-width: 0;
}
.art-search-status {
  margin: 0 0 12px;
  font-weight: 650;
}
@media (max-width: 800px) {
  .art-files-head { flex-wrap: wrap; }
  .art-files-head .mock-search { flex-basis: 100%; }
}
.art-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  text-align: left;
}
.art-intro .lede { margin-left: 0; margin-right: 0; }
.art-select-actions { display: flex; gap: 8px; flex: none; align-items: center; }
.mock-grid li.mock-card { position: relative; }
.mock-card a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.mock-pick {
  display: none;
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  margin: 0;
  padding: 6px;
  border-radius: 8px;
  background: #fff;
}
.is-selecting .mock-pick { display: block; }
.mock-pick-box { width: 18px; height: 18px; }
.mock-select-btn {
  display: block;
  width: calc(100% - 24px);
  margin: 10px 12px 0;
}
.mock-card.is-picked .mock-select-btn {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}
.design-more { margin: 0 12px 4px; }
.design-more summary { cursor: pointer; color: var(--muted); font-size: 14px; }
.design-more .client-card-meta { padding-left: 0; padding-right: 0; }
.mock-grid .client-card-name {
  overflow-wrap: anywhere;
  font-size: 15px;
  line-height: 1.35;
}
.mock-facts { margin: 0 0 16px; }
.mock-page {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
  border-radius: 8px;
}

.client-card,
.saved-address-card {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
}

.client-card:hover { border-color: var(--line-strong); }
@media (max-width: 1100px) {
  .client-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .client-list { grid-template-columns: 1fr; }
}
.client-card-name { display: block; margin: 0 0 4px; font-size: 17px; }
.client-card-meta,
.client-card-counts { margin: 0; color: var(--muted); font-size: 14px; }

.saved-address-list {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: grid;
  gap: 10px;
}

.saved-address-card { align-items: flex-start; }
.neck-tag-card { align-items: center; }
.neck-tag-thumb {
  width: 72px;
  height: 72px;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  flex: 0 0 auto;
}
.neck-tag-card form {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.saved-neck-tags { margin-top: 16px; }
.neck-inventory {
  width: 100%;
  margin-top: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-sizing: border-box;
}
.neck-inventory-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 14px 16px;
  box-sizing: border-box;
  cursor: pointer;
  list-style: none;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}
.neck-inventory-bar::-webkit-details-marker { display: none; }
.neck-inventory-chevron {
  flex: 0 0 auto;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 8px solid currentColor;
}
.neck-inventory[open] .neck-inventory-chevron { transform: rotate(180deg); }
.neck-inventory-body { padding: 0 16px 16px; }
.saved-neck-pick {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}
.saved-neck-pick .neck-tag-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}
.saved-neck-pick .neck-tag-thumb { width: 100%; height: 110px; }
.saved-neck-pick .neck-tag-card form { flex-direction: column; align-items: stretch; }
.neck-builds { display: grid; gap: 16px; margin-top: 16px; }
.neck-build { border: 1px solid var(--line); border-radius: 12px; background: #fff; padding: 16px; }
.neck-build-head { display: flex; gap: 16px; align-items: flex-start; }
.neck-build-thumb { width: 96px; height: 96px; object-fit: contain; background: #f4f1ea; border-radius: 8px; }
.neck-size-picker { display: grid; gap: 10px; margin-top: 14px; }
.neck-size-bands { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
.neck-size-band { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.neck-size-band-adult { flex: 1 0 100%; }
.neck-size-band-youth,
.neck-size-band-toddler { flex: 0 0 auto; flex-wrap: nowrap; }
.neck-size-band legend { width: 4.5rem; padding: 0; font-weight: 700; }
.neck-size-band .check { margin: 0; white-space: nowrap; }
.neck-size-rows { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.neck-size-row { display: flex; align-items: center; justify-content: flex-start; gap: 12px; }
.neck-size-label { width: 6.5rem; flex: 0 0 6.5rem; font-weight: 700; }
.neck-size-upload { display: flex; align-items: center; gap: 8px; margin: 0; }
.neck-size-row input[type=file] { margin: 0; width: 16rem; flex: 0 0 16rem; }
.neck-size-file { font-weight: 650; }
.neck-batch-bar { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 8px; }
.neck-batch-bar [data-neck-upload] {
  min-width: 9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.neck-batch-bar [data-neck-upload][aria-busy="true"] { opacity: 0.7; }
.neck-tag-style { margin: 0; font-size: 14px; color: var(--muted); }
.neck-tag-upload,
.neck-tag-edit {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
  align-items: end;
  margin: 0 0 16px;
}
.neck-tag-card .neck-tag-edit {
  display: grid;
  flex: 1;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  margin: 0;
}
.neck-tag-grid { margin-top: 8px; }
.inside-tag-catalog { margin: 0 0 14px; }
.inside-tag-inventory { margin: 0 0 10px; }
.inside-tag-groups { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.inside-tag-groups button {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 999px;
  padding: 6px 12px;
  cursor: pointer;
}
.inside-tag-groups button.is-active { border-color: var(--ink); background: var(--ink); color: #fff; }
.inside-tag-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.inside-tag-option {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  text-align: left;
}
.inside-tag-option.is-active { border-color: var(--ink); }
.inside-tag-option img { width: 100%; height: 88px; object-fit: contain; background: #fff; }
.placement-card.is-catalog-tag {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  column-gap: 16px;
  align-items: start;
}
.placement-card.is-catalog-tag > .placement-neck-shot {
  grid-row: 1 / span 3;
  width: 148px;
  height: 148px;
  object-fit: contain;
  padding: 8px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 0 1px var(--line);
}
.placement-card.is-catalog-tag > :not(.placement-neck-shot) { grid-column: 2; }
.inside-tag-note { color: var(--muted); font-size: 13px; }
@media (max-width: 800px) {
  .neck-tag-upload, .neck-tag-edit { grid-template-columns: 1fr; }
}
.subhead { margin: 18px 0 10px; font-size: 16px; }

.address-autocomplete-dropdown {
  position: fixed;
  max-height: 240px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  box-shadow: var(--shadow);
  z-index: 10000;
}

.address-autocomplete-item {
  display: block;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.address-autocomplete-item:last-child { border-bottom: 0; }
.address-autocomplete-item:hover,
.address-autocomplete-item:focus { background: var(--accent-soft); }

.style-card, .placement-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px 18px 16px;
}

.style-card {
  margin: 0 0 14px;
  background: var(--paper);
  border-color: var(--line-strong);
}
.placement-card { margin-top: 12px; }

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

.placement-head h5 {
  display: block;
  margin: 0;
}

.placement-method-row {
  flex-wrap: nowrap;
  align-items: flex-start;
  margin: 0 0 22px;
  padding-bottom: 4px;
}

.placement-art-row {
  align-items: flex-start;
  padding-top: 4px;
}

.method-field {
  flex: 0 1 320px;
  min-width: 240px;
  max-width: 360px;
}

.placement-method-row > .grow {
  flex: 1 1 auto;
  min-width: 200px;
}

.placement-card .field {
  display: flex;
  flex-direction: column;
}

.placement-card .field-label {
  margin: 0 0 6px;
}

.method-tabs {
  display: flex;
  width: 100%;
  gap: 4px;
  margin: 0;
  padding: 3px;
  height: 44px;
  min-height: 44px;
  border-radius: 12px;
  background: #efe8dc;
}

.method-tabs button {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background-color: transparent;
  color: var(--muted);
  padding: 0 16px;
  border-radius: 9px;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.method-tabs button.is-active {
  background-color: #fff;
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(29, 25, 22, 0.08);
}

.btn-add-compact {
  margin-top: 10px;
  min-height: 42px;
}

.print-add-row {
  display: flex;
  align-items: stretch;
  gap: 12px;
  margin-top: 10px;
}

.print-add-row .btn-add-compact {
  margin-top: 0;
}

.print-add-row [data-add-location] {
  flex: 2 1 0;
}

.print-add-row [data-add-inside-tag] {
  flex: 1 1 0;
}

.po-dup-panel.inside-tag-panel {
  width: min(1100px, 100%);
  max-height: calc(100vh - 48px);
  overflow-x: hidden;
  overflow-y: auto;
}

.inside-tag-panel .placement-card,
.inside-tag-panel .placement-method-row,
.inside-tag-panel .placement-art-row,
.inside-tag-panel .field,
.inside-tag-panel select,
.inside-tag-panel input {
  max-width: 100%;
  min-width: 0;
}

.inside-tag-panel [data-method-tab="embroidery"],
.inside-tag-panel [data-placement-panel="embroidery"] {
  display: none;
}

.inside-tag-panel [data-method-tab="screen"] {
  cursor: default;
  pointer-events: none;
}

.inside-tag-styles {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  margin: 8px 0 18px;
}

.inside-tag-styles[hidden] {
  display: none;
}

.inside-tag-choice {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 20px;
  font-weight: 650;
  line-height: 1.3;
  cursor: pointer;
}

.inside-tag-choice input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  margin: 0;
  flex: none;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 2px #6d655c;
  cursor: pointer;
}

.inside-tag-choice input[type="checkbox"]:checked {
  background: radial-gradient(circle, var(--accent) 0 6px, #fff 7px);
  box-shadow: inset 0 0 0 2px var(--accent);
}

.inside-tag-choice input[type="checkbox"]:focus {
  outline: none;
  background-color: #fff;
}

.inside-tag-choice input[type="checkbox"]:focus-visible {
  box-shadow: inset 0 0 0 2px var(--accent), 0 0 0 4px rgba(192, 57, 43, 0.16);
}

.inside-tag-error {
  margin: 10px 0 0;
  color: var(--accent);
  font-weight: 650;
}

.inside-tag-panel .placement-card {
  margin: 0;
}

.inside-tag-panel .po-dup-actions {
  margin-top: 16px;
}

@media (max-width: 640px) {
  .print-add-row {
    flex-direction: column;
  }
}

.style-art {
  margin-top: 18px;
  padding-top: 4px;
}

.style-art .file-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.style-art .file-list li.art-assign {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
  min-width: 0;
  padding: 12px;
  border-radius: 12px;
  background: #f7f1e8;
}

.style-art .art-thumb {
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: #f3eee6;
  border-radius: 10px;
  box-shadow: inset 0 0 0 1px var(--line);
  overflow: hidden;
}

.style-art .art-thumb-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 220px;
  min-height: 220px;
  background: #fff;
}

.style-art .art-thumb img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: contain;
  background: #fff;
}

.style-art .art-thumb-file {
  text-align: center;
}

.style-art .art-thumb-file strong {
  margin: 0;
  padding: 0;
  font-size: 28px;
  letter-spacing: 0.04em;
}

.style-art .file-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 8px;
  margin-top: 8px;
}

.style-art .file-caption-copy {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}

.style-art .file-caption .file-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 650;
}

.style-art .file-caption .file-size,
.style-art .file-caption .btn-link {
  flex: none;
  white-space: nowrap;
}

.style-art .file-role-row {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.style-art .file-role-edit {
  display: grid;
  gap: 6px;
}

.style-art .file-role-edit.is-hidden { display: none; }

.style-art .file-role-text {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
}

.style-art .file-role,
.style-art .file-location {
  min-width: 0;
  margin: 0;
}

.style-art .file-role select,
.style-art .file-location select {
  width: 100%;
  height: 36px;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 36px;
}

.style-art .btn-file-confirm {
  width: 100%;
  height: 36px;
  min-height: 36px;
  border-radius: 8px;
  border: 1px solid var(--ok);
  background: var(--ok);
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  cursor: pointer;
}

@media (max-width: 720px) {
  .style-art .file-list {
    grid-template-columns: 1fr;
  }
}

.style-card-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.style-card-head h3,
.placement-card h5,
.panel h4 {
  margin: 22px 0 8px;
  font-size: 15px;
  font-weight: 700;
}

.panel > h4:first-of-type { margin-top: 0; }

.style-card-head h3 { margin: 0; font-size: 17px; }
.placement-card h5 { margin: 0 0 12px; }

.btn-link, .btn-ghost, .btn-add, .submit {
  font: inherit;
  cursor: pointer;
}

.btn-link {
  background: none;
  border: 0;
  padding: 0;
  color: var(--accent-deep);
  font-weight: 650;
}

.btn-link.danger { color: var(--muted); }
.btn-link.danger:hover { color: var(--err); }

.btn-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  border: 1px dashed var(--line-strong);
  border-radius: 12px;
  background: transparent;
  color: var(--ink);
  font-weight: 650;
}

.btn-add:hover { background: #fff; border-color: var(--accent); color: var(--accent-deep); }

.btn-secondary {
  font: inherit;
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: #fff;
  color: var(--ink);
  font-weight: 650;
  cursor: pointer;
}

.size-block { margin-top: 16px; }

.size-tabs {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  margin: 0;
  border-radius: 12px 12px 0 0;
  background: #efe8dc;
}

.size-tabs button {
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 8px 14px;
  border-radius: 8px;
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}

.size-tabs button.is-active {
  background: #fff;
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(29, 25, 22, 0.08);
}

.size-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 0 12px 12px 12px;
  background: #fff;
}

.size-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
}

.size-table th, .size-table td {
  border-right: 1px solid var(--line);
  padding: 0;
  text-align: center;
  font-size: 12px;
}

.size-table th:last-child, .size-table td:last-child { border-right: 0; }

.size-table th {
  background: #faf6ef;
  font-weight: 700;
  color: var(--muted);
  padding: 10px 6px;
  letter-spacing: 0.02em;
}

.size-table input {
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  text-align: center;
  padding: 12px 4px;
  background: transparent;
  -moz-appearance: textfield;
  appearance: textfield;
}

.size-table input::-webkit-outer-spin-button,
.size-table input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.size-table input:focus {
  box-shadow: inset 0 0 0 2px rgba(192, 57, 43, 0.2);
}

.pantone-field .field-label { margin: 0 0 6px; }
[data-print-location][data-method="embroidery"] [data-color-label-screen],
[data-print-location][data-method="embroidery"] [data-hint-pantone],
[data-print-location]:not([data-method="embroidery"]) [data-color-label-thread],
[data-print-location]:not([data-method="embroidery"]) [data-hint-thread],
[data-print-location][data-method]:not([data-method="embroidery"]) [data-thread-shortlist],
[data-color-field]:not(:has([data-color-catalog="thread"])) [data-thread-shortlist] {
  display: none !important;
}
.thread-shortlist {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
  padding: 10px;
  max-height: 196px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-wash);
}
.thread-shortlist[hidden] {
  display: none !important;
}
.thread-shortlist-swatch {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid rgba(29, 25, 22, 0.22);
  padding: 0;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}
.thread-shortlist-swatch:hover {
  transform: scale(1.12);
}
.thread-shortlist-swatch.is-selected {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.thread-shortlist-swatch.is-light {
  border-color: rgba(29, 25, 22, 0.55);
  box-shadow: inset 0 0 0 1px rgba(29, 25, 22, 0.18);
}
.colors-unknown { display: inline-block; margin: 6px 0 0; font-size: 13px; }
.pantone-follow-row {
  display: flex;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
}
.pantone-follow-row .pantone-picker {
  flex: 1 1 auto;
  min-width: 0;
}
.btn-follow-art {
  flex: 0 0 auto;
  min-height: 44px;
  height: 44px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid var(--line-strong);
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  white-space: nowrap;
  cursor: pointer;
}
.btn-follow-art:hover { border-color: var(--accent); color: var(--accent-deep); }
.btn-follow-art.is-active {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}
.pantone-picker.is-unknown { box-shadow: inset 0 0 0 1px #b0b0b0; background: #f0f0f0; }

.placement-method-row select,
.placement-art-row select,
.placement-art-row [data-custom-width] input {
  min-height: 44px;
  height: 44px;
}

.pantone-picker {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  min-height: 44px;
  height: 44px;
  padding: 4px 12px;
  border-radius: 12px;
  background: var(--field);
  box-shadow: inset 0 0 0 1px #d8ccb8;
}

.pantone-picker:has(.pantone-pill) {
  height: auto;
}

.pantone-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.pantone-pills:empty { display: none; }

.pantone-pill.is-unknown-pill { background: #d8d8d8; color: #4a4a4a; cursor: default; }

.pantone-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 8px 5px 6px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}

.pantone-pill .swatch { width: 16px; height: 16px; flex-basis: 16px; border-radius: 50%; }
.pantone-pill .pill-remove {
  margin-left: 2px;
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
  opacity: 0.5;
}

.pantone-picker.is-halftone-mode .pantone-pill:not(.is-unknown-pill):not(.is-halftone) {
  background: #ececec;
  color: #8d8d8d;
}

.pantone-picker.is-halftone-mode .pantone-pill:not(.is-halftone) .swatch {
  filter: grayscale(1);
  opacity: 0.55;
}

.pantone-picker.is-halftone-mode .pantone-pill.is-halftone {
  background: #fff;
  color: var(--ink);
  box-shadow: inset 0 0 0 1.5px #1a1a1a;
}

.pantone-picker.is-halftone-mode .pill-remove {
  display: none;
}

.pantone-picker input[data-pantone-input] {
  flex: 1 1 140px;
  width: auto;
  min-width: 120px;
  min-height: 0;
  height: 34px;
  margin: 0;
  padding: 0 2px;
  border: 0;
  box-shadow: none;
  background: transparent;
  font-size: 13px;
}

.pantone-picker input[data-pantone-input]:focus {
  box-shadow: none;
}

.pantone-menu {
  position: absolute;
  z-index: 8;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  max-height: 240px;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow);
}

.chart-link {
  display: inline-block;
  margin-top: 4px;
  color: var(--accent-deep);
  font-weight: 700;
  text-decoration: underline;
}
.color-menu-name {
  color: var(--muted);
  font-weight: 500;
}

.pantone-menu button {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  padding: 10px 12px;
  font: inherit;
  cursor: pointer;
}

.pantone-menu button:last-child { border-bottom: 0; }
.pantone-menu button:hover { background: var(--bg-wash); }

.qty-line {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.qty-line strong {
  min-width: 28px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  text-align: center;
}

.lookup-wrap, .color-select { position: relative; }

.lookup-results, .color-menu {
  position: absolute;
  z-index: 8;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  max-height: 260px;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow);
}

.color-menu {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-height: 22rem;
}

.color-menu[hidden] {
  display: none;
}

.color-menu [data-color-options] {
  overflow: auto;
  flex: 1 1 auto;
  min-height: 0;
}

.lookup-status {
  margin: 0;
  padding: 10px 12px;
  color: var(--muted);
  font-size: 14px;
}

.lookup-add-style-row {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-right: 6px;
}

.lookup-add-style-row .lookup-status {
  flex: 1 1 auto;
  padding-right: 0;
  color: var(--ink);
}

.lookup-results .lookup-add-style {
  width: auto;
  flex: 0 0 auto;
  border: 0;
  padding: 8px 10px;
  font-weight: 650;
  color: var(--ink);
}

.color-menu [data-color-filter] {
  display: block;
  width: 100%;
  box-sizing: border-box;
  position: sticky;
  top: 0;
  z-index: 1;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 12px 12px 0 0;
  background: #fff;
  padding: 10px 12px;
  font: inherit;
}

.lookup-results button, .color-menu button {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  padding: 10px 12px;
  font: inherit;
  cursor: pointer;
}

.color-write-in {
  flex: 0 0 auto;
  border-top: 1px solid var(--line);
  background: #fff;
  padding: 10px 12px 12px;
}

.color-write-in p {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
}

.color-menu [data-custom-color] {
  display: block;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 8px 10px;
  font: inherit;
}

.lookup-results button:last-child, .color-menu button:last-child { border-bottom: 0; }
.lookup-results button:hover, .color-menu button:hover { background: var(--bg-wash); }

.color-trigger {
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  cursor: pointer;
}

.color-trigger:disabled { cursor: default; color: var(--soft); background-color: var(--bg); }

.swatch {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.18);
  background: #ddd;
  flex: 0 0 18px;
}

.dropzone {
  border: 1.5px dashed var(--line-strong);
  background: var(--field);
  border-radius: var(--radius-sm);
  padding: 42px 18px;
  text-align: center;
  cursor: pointer;
  transition: 0.15s ease;
}

.dropzone input { display: none; }
.dropzone strong, .dropzone span { display: block; }
.dropzone strong { font-size: 16px; }
.dropzone span { margin-top: 6px; color: var(--muted); font-size: 13px; }
.dropzone:hover, .dropzone.is-drag {
  background: #eee4d4;
}

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

.file-list li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--bg-wash);
  font-size: 14px;
}

.file-size { color: var(--muted); }

.check-inline {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 650;
}

.form-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  margin-top: 8px;
}

a.submit {
  display: inline-block;
  text-align: center;
  text-decoration: none;
}

.submit {
  min-width: 180px;
  padding: 13px 24px;
  border: 0;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: 0 8px 18px rgba(192, 57, 43, 0.22);
}

.submit:hover { background: var(--accent-deep); }

.errors, .success {
  padding: 12px 14px;
  margin: 0 0 14px;
  border-radius: 12px;
  font-size: 14px;
}

.errors { background: var(--err-soft); color: var(--err); }
.success { background: var(--ok-soft); color: var(--ok); }
.is-hidden { display: none !important; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.po-ingest-panel { margin-bottom: 18px; }
.po-drop {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 112px;
  border: 1.5px dashed var(--line-strong);
  background: var(--field);
  border-radius: var(--radius-sm);
  padding: 22px 16px;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.po-drop:hover,
.po-drop.is-over {
  background: #eee4d4;
}
.po-drop.is-reading {
  border-style: solid;
  border-color: var(--ok);
  background: var(--ok-soft);
  cursor: wait;
  pointer-events: none;
}
.po-drop-title { margin: 0 0 4px; font-weight: 650; }
.po-drop-hint { margin: 0; color: var(--muted); font-size: 14px; }
.po-drop-progress {
  margin: 0;
  color: var(--ok);
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  text-align: center;
}
.po-drop.is-reading .po-drop-copy { display: none; }
.po-drop.is-reading .po-drop-progress { display: block; }
.po-drop-progress.is-hidden { display: none; }
.po-ingest-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 14px;
  margin: 12px 0 0;
  font-size: 16px;
  font-weight: 650;
  text-align: center;
}
.po-ingest-status p { margin: 0; }
.po-ingest-status.is-error { color: var(--err); }
.po-ingest-status.is-ok { color: var(--ok); }
.po-ingest-status .btn-secondary {
  min-height: 36px;
  padding: 6px 14px;
  font-size: 14px;
  box-shadow: none;
}

.po-dup-dialog {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: center;
  padding: 24px;
}

.po-dup-dialog.is-hidden,
.po-dup-dialog[hidden] {
  display: none;
}

.po-dup-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(29, 25, 22, 0.45);
}

.po-dup-panel {
  position: relative;
  width: min(460px, 100%);
  padding: 22px 22px 18px;
  border-radius: 12px;
  background: #fffdf8;
  box-shadow: var(--shadow);
}

.po-dup-panel.same-art-panel {
  width: min(720px, 100%);
}

.po-dup-panel.same-art-panel.is-single {
  width: min(440px, 100%);
}

.same-art-choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
}

.same-art-choices.is-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.same-art-panel.is-single .same-art-choices {
  grid-template-columns: minmax(0, 1fr);
}

.same-art-choices:empty { display: none; }

.same-art-style {
  display: grid;
  gap: 8px;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: inherit;
  font: inherit;
  text-align: left;
}

button.same-art-style { cursor: pointer; }
button.same-art-style:hover { border-color: var(--accent); }

.same-art-style strong {
  font-size: 14px;
}

.same-art-thumbs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
}

.same-art-thumb {
  flex: none;
  width: 88px;
  height: 88px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.same-art-thumb img,
.same-art-thumb span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
  font-size: 13px;
  font-weight: 700;
}
.po-dup-panel.reprint-picker-panel {
  width: min(1240px, calc(100vw - 40px));
  height: calc(100vh - 40px);
  max-height: calc(100vh - 40px);
  display: flex;
  flex-direction: column;
  padding: 22px 22px 18px;
  border-radius: 18px;
}

.po-dup-panel h2 {
  margin: 0 0 8px;
  font-size: 22px;
  letter-spacing: -0.03em;
}

.po-dup-copy {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 14px;
}

.po-dup-copy:empty { display: none; }

.order-kind-panel {
  width: min(520px, 100%);
  text-align: center;
  padding: 36px 28px 32px;
}
.order-kind-panel h2 { text-align: center; margin-bottom: 20px; }
.order-kind-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
.order-kind-actions button {
  font: inherit;
  width: 220px;
  flex: 0 0 220px;
  min-height: 44px;
  padding: 8px 16px;
  border-radius: 999px;
  font-weight: 650;
  cursor: pointer;
}
.order-kind-actions .btn-primary {
  border: 0;
  background: var(--accent);
  color: #fff;
}
.order-kind-actions .btn-primary:hover { background: var(--accent-deep); }

.reprint-checks {
  margin: 12px 0 16px;
  padding: 14px 14px 6px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fffdf8;
}
.reprint-checks-title {
  margin: 0 0 10px;
  font-weight: 700;
}
.reprint-check {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}
.reprint-check > span { font-weight: 650; }
.reprint-check-answers { display: flex; gap: 8px; }
.reprint-check-answers button {
  font: inherit;
  min-width: 64px;
  min-height: 36px;
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: #fff;
  cursor: pointer;
}
.reprint-check-answers button[data-answer="yes"] {
  border-color: var(--ok);
  background: #e7f2e4;
  color: var(--ok);
}
.reprint-check-answers button[data-answer="no"] {
  border-color: var(--err);
  background: #f8e6e3;
  color: var(--err);
}
.reprint-check-answers button[data-answer="yes"].is-on {
  border-color: var(--ok);
  background: var(--ok);
  color: #fff;
  font-weight: 700;
}
.reprint-check-answers button[data-answer="no"].is-on {
  border-color: var(--err);
  background: var(--err);
  color: #fff;
  font-weight: 700;
}
.submit-wait {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(246, 241, 232, 0.9);
}
.submit-wait[hidden] { display: none; }
.submit-wait-card { text-align: center; }
.submit-wait img {
  width: 84px;
  height: auto;
  animation: stitches-spin 1.1s linear infinite;
}
.submit-wait p {
  margin: 14px 0 0;
  font-size: 20px;
  font-weight: 700;
}
@keyframes stitches-spin {
  to { transform: rotate(360deg); }
}
.reprint-check-result {
  margin: 0 0 8px;
  color: var(--ink);
}

.po-dup-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.po-dup-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.po-dup-confirm {
  min-width: 0;
  min-height: 40px;
  padding: 8px 16px;
  box-shadow: none;
}

.quiet-note {
  margin: 18px 0 0;
  text-align: center;
  color: var(--soft);
  font-size: 12px;
}

.auth-body {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}

.auth-card {
  width: min(28rem, calc(100% - 32px));
  background: var(--paper);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 32px 28px;
}

.auth-card h1 { margin: 16px 0 8px; }
.lab-accounts {
  margin: 14px 0 0;
  padding: 12px 14px;
  background: var(--field);
  border-radius: 10px;
  font-size: 14px;
}
.lab-accounts p { margin: 0 0 10px; }
.lab-account-actions {
  display: grid;
  gap: 8px;
}
.lab-account-actions .submit { width: 100%; }
.lab-secondary {
  background: var(--ink);
}
.lab-secondary:hover { background: #000; }

.auth-form { display: grid; gap: 14px; margin-top: 18px; }
.auth-form label { display: grid; gap: 6px; font-weight: 600; }
.auth-form input {
  font: inherit;
  padding: 10px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
}

.tile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 24px;
}

.dash-tile {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 22px 16px;
  background: var(--accent);
  color: #fff;
  text-decoration: none;
  border-radius: var(--radius-sm);
  min-height: 120px;
}

.dash-tile:hover { color: #fff; background: var(--accent-deep); }
.dash-tile strong { font-size: 17px; }
.dash-tile span { font-size: 13px; color: rgba(255,255,255,0.85); }

.past-order-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
}

ul.past-order-grid.past-order-grid-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

ul.past-order-grid.past-order-grid-two > li,
.past-order-card,
.past-order-card a,
.past-order-card img {
  min-width: 0;
  max-width: 100%;
}

.past-order-card .client-card-name { overflow-wrap: anywhere; }

.past-order-grid-two .past-order-card img {
  width: 100%;
  height: auto;
  max-height: none;
}

@media (max-width: 560px) {
  ul.past-order-grid.past-order-grid-two,
  .mock-grid,
  .design-grid.mock-grid { grid-template-columns: 1fr; }
}

.past-order-pages {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 16px;
}

.past-order-pages a {
  min-height: 46px;
  padding: 8px 20px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font-size: 18px;
  font-weight: 650;
  text-decoration: none;
}

.past-order-pages span {
  color: var(--ink);
  font-size: 18px;
  font-weight: 650;
}

.past-order-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.past-order-card a,
.past-order-card .past-order-open {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.past-order-card img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  align-self: stretch;
  object-fit: contain;
  background: #fff;
  border-radius: 8px;
}

.resource-list { margin: 0 0 16px; padding-left: 1.2rem; }

.resource-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
}

.resource-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px 16px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.resource-card a {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: inherit;
  text-decoration: none;
}

.resource-card strong { font-size: 17px; }
.resource-card span { color: var(--muted); font-size: 14px; line-height: 1.4; }
.resource-card a:hover strong { text-decoration: underline; }
.resource-card.is-waiting { opacity: 0.72; }

.file-list li.file-row {
  align-items: center;
  flex-wrap: wrap;
}

.file-kind {
  min-width: 140px;
  font: inherit;
  padding: 6px 8px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: #fff;
}

.style-combine-bar { margin: 12px 0 8px; }
.shared-art-note {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #f4efe6;
  font-size: 15px;
}
.shared-art-note[hidden] { display: none; }
.combine-summary { margin: 8px 0 0; padding-left: 1.2rem; }
.combine-summary-edit {
  text-align: left;
  font: inherit;
  font-weight: 650;
}
.combine-existing { margin: 0 0 14px; }
.combine-existing-list {
  display: grid;
  gap: 6px;
  margin: 8px 0;
}
.combine-existing-item {
  width: 100%;
  text-align: left;
  border: 1px solid var(--line, #d9d3cb);
  background: #fff;
  border-radius: 10px;
  padding: 8px 10px;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.combine-existing-item.is-current {
  border-color: var(--ink, #1d1916);
  background: #f6f3ee;
}
.submit[disabled],
.submit[aria-busy="true"] { opacity: 0.75; cursor: wait; }

.sop-box {
  margin: 0 0 18px;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--accent-soft);
  border: 1px solid #e8cfc8;
}

.sop-box h2 { margin: 0 0 8px; font-size: 16px; }
.sop-box ul { margin: 0; padding-left: 1.2rem; }

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

.login-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.login-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.login-inline input,
.login-actions select {
  display: inline-block;
  width: auto;
  min-height: 40px;
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: #fff;
  box-shadow: none;
  font: inherit;
}

.login-inline input {
  min-width: 11rem;
}

.login-actions select {
  padding-right: 32px;
}

.login-row { align-items: flex-start; }

.admin-crumb {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
}

.admin-crumb a { color: inherit; }

.press-rules .formula {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 650;
}

.press-rules ul {
  margin: 0 0 12px;
  padding-left: 1.2rem;
}

.press-rules li + li { margin-top: 6px; }

.field-hint {
  font-weight: 500;
  color: var(--muted);
}

.admin-color-block { margin: 8px 0 4px; }
.admin-color-row { margin-top: 8px; }

.admin-table-wrap { overflow-x: auto; }

.admin-table {
  width: 100%;
  border-collapse: collapse;
}

.admin-table th,
.admin-table td {
  text-align: left;
  padding: 10px 8px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.admin-table th {
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
}

.admin-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.admin-row-actions form { margin: 0; }

@media (max-width: 1080px) {
  .header-cluster {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "spacer account"
      "menu menu";
    align-items: center;
    column-gap: 12px;
    row-gap: 8px;
    width: 100%;
  }
  .header-menu {
    grid-area: menu;
    grid-column: 1 / -1;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    width: 100%;
  }
  .header-menu > .primary-nav:not(.header-account) {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .header-account { grid-area: account; justify-self: end; }
}

.addon-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 8px 0 22px;
}
.addon-column {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.addon-column h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  font-size: 16px;
}
.addon-icon { display: grid; color: var(--accent-deep); }
.addon-choice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 8px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: var(--field);
  font-weight: 600;
  cursor: pointer;
}
.addon-choice:last-child { margin-bottom: 0; }
.addon-choice input { margin-top: 3px; accent-color: var(--accent); }
.split-ship-upload { margin-top: 12px; }
.split-ship-upload p { margin: 0 0 8px; font-size: 14px; }
.split-ship-upload-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 14px;
  cursor: pointer;
}
.split-ship-upload .file-list { grid-template-columns: 1fr; }
.addon-choice:has(input:checked) {
  border-color: var(--ink);
  background: #fff;
}
.art-services-block {
  margin-top: 12px;
}
.art-services-block h4 { margin: 0 0 8px; }
.parked-extras {
  margin-top: 18px;
}
.art-service-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 16px;
}
.art-service-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: #fff;
  font-weight: 650;
  cursor: pointer;
}
.art-service-btn input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.art-service-btn:has(input:checked) {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
}
.extra-notes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 8px;
}
#digitizing-block { margin: 0 0 16px; }

@media (max-width: 900px) {
  .tile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 740px) {
  .site-header { padding: 8px 12px 0; }
  .header-bar { width: 100%; }
  .brand-logo { height: 26px; }
  .header-logo .brand-logo { height: 28px; max-width: none; }
  .signed-in-name { display: none; }
  .header-cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 2px 8px;
    width: 100%;
  }
  .header-menu { display: contents; }
  .header-logo { order: 1; margin-right: auto; }
  .nav-toggle { display: inline-flex; order: 3; }
  .header-account { order: 2; gap: 2px; }
  .header-menu > .primary-nav:not(.header-account) {
    display: none;
    order: 4;
    flex: 1 1 100%;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    width: 100%;
    gap: 2px;
    margin: 6px 0 8px;
  }
  .header-menu > .primary-nav.is-open { display: flex; }
  .primary-nav.is-open .nav-sub {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .primary-nav.is-open .nav-sub-menu {
    display: flex;
    position: static;
    min-width: 0;
    padding: 0 0 4px 10px;
    background: transparent;
    box-shadow: none;
  }
  .primary-nav.is-open a {
    justify-content: flex-start;
    width: 100%;
    padding: 11px 12px;
    border-radius: 8px;
    font-size: 15px;
    letter-spacing: 0;
  }
  .primary-nav.is-open .nav-sub-menu a {
    font-size: 14px;
    text-transform: none;
    letter-spacing: 0;
  }
  .header-account a { padding: 8px 8px; font-size: 12px; }
  .desk-nav-inner { padding: 2px 4px 4px; }
  .desk-nav .queue-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-content: stretch;
    gap: 0;
    overflow: visible;
  }
  .desk-nav .queue-tabs a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    flex: none;
    min-height: 52px;
    padding: 8px 4px 6px;
    font-size: 16px;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
  }
  .desk-nav .nav-count { margin-left: 0; }
  .steps {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: stretch;
  }
  .steps li { justify-content: center; }
  .tile-grid { grid-template-columns: 1fr; }
  .size-tabs { max-width: 100%; overflow-x: auto; }
  .mock-search-staff {
    flex-direction: column;
    align-items: stretch;
    border-radius: 16px;
    padding: 10px;
    gap: 8px;
  }
  .mock-search-staff input,
  .mock-search-staff select,
  .mock-search-staff .client-filter,
  .mock-search-staff button {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    min-height: 42px;
  }
  .mock-search-staff input,
  .mock-search-staff select {
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 10px 12px;
    background: #fffdf8;
  }
  .login-row,
  .saved-address-card {
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
    max-width: 100%;
  }
  .login-actions,
  .login-inline { width: 100%; }
  .login-inline input { flex: 1 1 8rem; min-width: 0; width: auto; }
  .header-cluster { gap: 8px 10px; }
  .field-xs, .field-sm, .field-md, .field-insurance, .field-width, .method-field { max-width: none; flex-basis: 100%; }
  .order-fields > label,
  .order-fields > fieldset { flex-basis: 100%; }
  .order-type-row { flex-wrap: wrap; }
  .order-type-row .order-type-field,
  .order-type-row .due-date-field { flex: 1 1 100%; }
  .order-type-row .pills { flex-wrap: wrap; }
  .due-date-field { flex-basis: 100%; }
  .due-date-control { flex-wrap: wrap; }
  .style-card.is-reprint-style { grid-template-columns: 1fr; }
  .addon-columns, .extra-notes { grid-template-columns: 1fr; }
  .placement-method-row { flex-wrap: wrap; }
  .placement-method-row > .grow { min-width: 0; }
  .panel { padding: 18px 16px 20px; }
  .form-footer { justify-content: stretch; }
  .submit { width: 100%; }
  .size-table { min-width: 560px; }
}
