:root {
  color-scheme: light;
  --ink: #17221d;
  --muted: #68736d;
  --green: #125a45;
  --green-deep: #0b4535;
  --green-soft: #e6f1ec;
  --orange: #d8801c;
  --orange-soft: #f8ead7;
  --red: #a3453a;
  --red-soft: #f7e6e3;
  --line: rgba(23, 34, 29, .10);
  --paper: rgba(255, 255, 255, .78);
  --paper-solid: #fbfaf7;
  --shadow: 0 20px 60px rgba(51, 41, 25, .07);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html.is-partial-loading main.shell { opacity: .72; pointer-events: none; }
main.shell { transition: opacity .16s ease; }
main.shell h1[data-page-navigation-focus]:focus { outline: none; }

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

.type-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 14px;
  margin: 22px 0;
}

.type-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 20px;
  border: 1px solid rgba(18, 37, 30, 0.09);
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 18px 42px rgba(27, 55, 44, 0.07);
}

.type-card .secondary-button {
  grid-column: 1 / -1;
}

.type-card-order {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: var(--green, #126349);
  background: rgba(18, 99, 73, 0.1);
  font-weight: 800;
}

.type-card-body h2,
.type-card-body p {
  margin: 0;
}

.type-card-body h2 {
  margin: 5px 0 7px;
  font-size: clamp(1.25rem, 3vw, 1.65rem);
}

.bulk-assignment-card {
  margin-top: 26px;
  padding: clamp(18px, 4vw, 28px);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(18, 37, 30, 0.09);
}

.bulk-assignment-form {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.bulk-type-picker {
  display: grid;
  gap: 7px;
  max-width: 420px;
}

.product-check-grid ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.product-check-grid label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-height: 48px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(246, 244, 237, 0.9);
  cursor: pointer;
}

.type-button-preview {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  margin-bottom: 18px;
  border-radius: 20px;
  color: #fff;
  background: #126349;
}

.type-button-preview span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.82rem;
}

.type-button-preview strong {
  font-size: 1.25rem;
}

.publication-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 0 0 24px;
  padding: 24px;
  border: 1px solid rgba(21, 47, 38, 0.1);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(232, 242, 236, 0.7));
  box-shadow: 0 18px 46px rgba(31, 48, 39, 0.07);
}

.publication-card h2 {
  margin: 2px 0 7px;
}

.publication-card p {
  margin: 0 0 12px;
  color: var(--muted);
}

.publication-card form {
  flex: 0 0 auto;
}

button:disabled,
.primary-button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.current-product-photo {
  display: grid;
  grid-template-columns: minmax(120px, 220px) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  margin: 0 0 14px;
  padding: 12px;
  border: 1px solid rgba(21, 47, 38, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.62);
}

.current-product-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 14px;
}

.product-photo-focus-editor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 12px;
  margin-top: 12px;
  padding: 13px 14px;
  border: 1px solid rgba(18, 90, 69, .10);
  border-radius: 15px;
  background: rgba(231, 241, 236, .48);
}
.product-photo-focus-editor label { display: contents; }
.product-photo-focus-editor label > span { color: var(--muted); font-size: 11px; font-weight: 720; }
.product-photo-focus-editor output { color: var(--green); font-size: 11px; font-weight: 780; }
.product-photo-focus-editor input[type="range"] { grid-column: 1 / -1; width: 100%; accent-color: var(--green); }

.inline-check {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
}

.product-photo-image {
  object-fit: cover;
}

@media (max-width: 760px) {
  .publication-card {
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
  }

  .publication-card form,
  .publication-card button {
    width: 100%;
  }

  .current-product-photo {
    grid-template-columns: 1fr;
  }
}

* { box-sizing: border-box; }

html { min-width: 320px; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 84% 8%, rgba(216, 128, 28, .12), transparent 28rem),
    radial-gradient(circle at 5% 45%, rgba(18, 90, 69, .10), transparent 32rem),
    #f5f2eb;
}

button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 22px 0 36px; }
.topbar, footer { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.topbar { min-height: 70px; margin-bottom: 46px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--green); text-decoration: none; font-size: 25px; font-weight: 780; letter-spacing: -.04em; }
.mark { position: relative; width: 14px; height: 32px; border-radius: 8px; background: var(--orange); display: inline-block; }
.mark i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); left: 3.5px; top: -9px; }
.mark b { position: absolute; width: 8px; height: 2px; background: var(--green); border-radius: 2px; transform: rotate(-45deg); left: 3px; }
.mark b:nth-of-type(1) { top: 9px; }
.mark b:nth-of-type(2) { top: 15px; }
.mark b:nth-of-type(3) { top: 21px; }

.main-nav { display: flex; align-items: center; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, .52); backdrop-filter: blur(18px); }
.main-nav a { padding: 9px 14px; border-radius: 12px; color: var(--muted); text-decoration: none; font-size: 14px; font-weight: 680; }
.main-nav a[aria-current="page"] { color: var(--green); background: white; box-shadow: 0 5px 18px rgba(23, 34, 29, .07); }
.account-actions { display: grid; justify-items: end; gap: 1px; min-width: 0; }
.account-primary { display: flex; align-items: center; gap: 16px; }
.admin-email { color: var(--muted); font-size: 13px; }
.account-runtime { max-width: 300px; overflow: hidden; color: rgba(84, 98, 90, .72); font-size: 9px; line-height: 1.35; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.account-actions form, .heading-actions form, .item-actions form, .section-heading form { margin: 0; }
.text-button, .danger-link { border: 0; background: transparent; padding: 8px 0; font-weight: 720; }
.text-button { color: var(--green); }
.danger-link { color: var(--red); }

.hero { max-width: 840px; padding-bottom: 42px; }
.hero-compact { padding-bottom: 30px; }
.eyebrow { margin: 0 0 13px; color: var(--green); font-size: 12px; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(44px, 7vw, 76px); line-height: .98; letter-spacing: -.065em; font-weight: 740; overflow-wrap: anywhere; }
.lead { max-width: 680px; margin: 22px 0 0; color: var(--muted); font-size: 18px; line-height: 1.5; }

.primary-button, .secondary-button, .danger-button, .copy-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 52px;
  border-radius: 16px;
  padding: 12px 20px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 740;
  font-size: 15px;
  white-space: nowrap;
}
.primary-button { color: white; background: var(--green); }
.primary-button:hover { background: var(--green-deep); }
.secondary-button { color: var(--green); background: rgba(255, 255, 255, .62); border-color: var(--line); }
.danger-button { color: white; background: var(--red); }

.workspace-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 12px; }
.workspace-card { position: relative; min-height: 255px; padding: 24px; border: 1px solid var(--line); border-radius: 26px; background: var(--paper); backdrop-filter: blur(20px); box-shadow: var(--shadow); text-decoration: none; display: flex; flex-direction: column; }
.workspace-card-primary { position: relative; color: white; background: linear-gradient(145deg, #17664f, #0d4d3b); border-color: transparent; }
.workspace-card-primary .status { color: var(--green-deep); background: rgba(255, 255, 255, .86); }
.workspace-card > div { margin-top: auto; }
.workspace-card h2 { margin: 0 0 8px; font-size: 25px; letter-spacing: -.035em; }
.workspace-card p { margin: 0; color: var(--muted); line-height: 1.45; }
.workspace-card-primary p { color: rgba(255, 255, 255, .76); }
.workspace-number { margin-bottom: 18px !important; color: white !important; font-size: 45px; font-weight: 750; letter-spacing: -.05em; }
.workspace-number span { font-size: 19px; opacity: .62; }
.arrow { font-size: 25px; }
.workspace-card .arrow { position: absolute; right: 24px; top: 22px; }

.status { display: inline-flex; align-items: center; align-self: flex-start; padding: 7px 10px; border-radius: 999px; font-size: 12px; font-weight: 740; white-space: nowrap; }
.status-ready { color: var(--green); background: var(--green-soft); }
.status-off { color: #765526; background: var(--orange-soft); }
.status-danger { color: var(--red); background: var(--red-soft); }
.status-neutral { color: #4f5b55; background: #ebeeec; }

.sales-date-filter label { padding-left: 8px; color: var(--muted); font-size: 13px; font-weight: 720; }
.sales-date-filter input[type="date"] { flex: 0 1 220px; }
.sync-run-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 14px; padding: 10px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255, 255, 255, .56); }
.sync-run-strip div { min-width: 0; padding: 13px 15px; border-radius: 15px; background: rgba(255, 255, 255, .72); }
.sync-run-strip span, .sync-run-strip strong { display: block; }
.sync-run-strip span { margin-bottom: 5px; color: var(--muted); font-size: 11px; }
.sync-run-strip strong { font-size: 14px; overflow-wrap: anywhere; }
.sale-issue-list { display: grid; gap: 10px; }
.sale-issue-card { padding: 22px; border: 1px solid var(--line); border-radius: 25px; background: var(--paper); box-shadow: var(--shadow); }
.sale-issue-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.sale-issue-heading h2 { margin: 0 0 5px; font-size: 25px; letter-spacing: -.035em; }
.sale-issue-heading p:not(.eyebrow) { margin: 0; color: var(--muted); }
.sale-facts { display: grid; grid-template-columns: 1.1fr 1fr .7fr .55fr; gap: 7px; margin-top: 18px; }
.sale-facts div { min-width: 0; padding: 12px; border-radius: 15px; background: rgba(230, 241, 236, .58); }
.sale-facts span, .sale-facts strong { display: block; }
.sale-facts span { margin-bottom: 5px; color: var(--muted); font-size: 10px; }
.sale-facts strong { overflow-wrap: anywhere; font-size: 14px; }
.sale-product-issues { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.sale-product-issues span { padding: 8px 10px; border-radius: 12px; color: #765526; background: var(--orange-soft); font-size: 12px; font-weight: 680; }
.sale-customer-action { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 14px; padding: 14px; border: 1px solid rgba(18, 90, 69, .14); border-radius: 18px; background: rgba(230, 241, 236, .52); }
.sale-customer-action strong, .sale-customer-action span { display: block; }
.sale-customer-action span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.sale-customer-action .primary-button { flex: 0 0 auto; }

.sale-customer-heading { align-items: center; }
.sale-resolution-context { display: grid; grid-template-columns: .8fr 1.2fr 1fr; gap: 9px; margin-bottom: 12px; padding: 10px; border: 1px solid rgba(18, 90, 69, .16); border-radius: 26px; background: rgba(255, 255, 255, .54); box-shadow: var(--shadow); }
.sale-resolution-context article { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .72); }
.sale-resolution-context span, .sale-resolution-context strong, .sale-resolution-context small { display: block; }
.sale-resolution-context span { margin-bottom: 7px; color: var(--muted); font-size: 11px; }
.sale-resolution-context strong { overflow-wrap: anywhere; font-size: 17px; }
.sale-resolution-context small { margin-top: 7px; color: var(--muted); line-height: 1.4; }
.sale-link-already { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.sale-link-already p { margin: 5px 0 0; line-height: 1.45; }
.sale-link-already .secondary-button { flex: 0 0 auto; }
.sale-client-section { margin-top: 12px; }
.section-lead { max-width: 760px; margin: -4px 0 22px; color: var(--muted); line-height: 1.55; }
.sale-client-candidates { display: grid; gap: 9px; }
.sale-client-candidate { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto; align-items: center; gap: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .68); }
.sale-client-candidate-disabled { background: rgba(235, 238, 236, .45); }
.sale-client-candidate h3 { margin: 1px 0 5px; font-size: 18px; }
.sale-client-candidate p { margin: 0; color: var(--muted); font-size: 13px; }
.sale-client-candidate-state { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.sale-client-candidate form { margin: 0; }
.candidate-unavailable { max-width: 270px; line-height: 1.45; }
.sale-client-create-form { max-width: 780px; padding: 22px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255, 255, 255, .54); }
.sale-phone-choices { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }

.guardrail { margin-top: 12px; border: 1px solid var(--line); border-radius: 28px; padding: 28px; background: var(--paper); backdrop-filter: blur(20px); box-shadow: var(--shadow); display: grid; grid-template-columns: 1.1fr 2fr; gap: 48px; align-items: end; }
.guardrail h2 { margin: 0; font-size: 28px; letter-spacing: -.035em; }
dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
dl div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--line); }
dt { color: var(--muted); } dd { margin: 0; font-weight: 680; }

.page-heading, .detail-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 30px; }
.page-heading h1, .detail-heading h1 { font-size: clamp(46px, 7vw, 72px); }
.heading-actions { display: flex; align-items: center; gap: 12px; }
.back-link { display: inline-block; margin: 0 0 26px; color: var(--green); text-decoration: none; font-weight: 700; }

.metric-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 12px; }
.metric-row article { min-height: 112px; padding: 19px; border: 1px solid var(--line); border-radius: 21px; background: var(--paper); display: flex; justify-content: space-between; flex-direction: column; }
.metric-row span { color: var(--muted); font-size: 13px; }
.metric-row strong { font-size: 30px; letter-spacing: -.04em; }

.search-bar { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; padding: 10px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .64); }
.search-bar input { flex: 1; min-width: 0; height: 46px; border: 0; outline: none; padding: 0 10px; background: transparent; color: var(--ink); }
.search-bar button { min-height: 44px; padding: 0 18px; border: 0; border-radius: 13px; color: white; background: var(--green); font-weight: 720; }
.search-bar a { padding: 10px; color: var(--muted); font-size: 14px; text-decoration: none; }

.client-list { overflow: hidden; border: 1px solid var(--line); border-radius: 26px; background: var(--paper); box-shadow: var(--shadow); }
.client-row { display: grid; grid-template-columns: minmax(280px, 1.3fr) minmax(220px, .8fr) auto auto; align-items: center; gap: 20px; min-height: 96px; padding: 17px 20px; text-decoration: none; border-bottom: 1px solid var(--line); transition: background .18s ease; }
.client-row:last-child { border-bottom: 0; }
.client-row:hover { background: rgba(255, 255, 255, .62); }
.client-identity { display: flex; align-items: center; gap: 14px; min-width: 0; }
.client-avatar { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 16px; color: var(--green); background: var(--green-soft); font-weight: 760; font-size: 20px; }
.client-row h2 { margin: 0 0 5px; font-size: 18px; letter-spacing: -.02em; overflow-wrap: anywhere; }
.client-row p, .client-row-meta { margin: 0; color: var(--muted); font-size: 13px; }
.client-row-meta { display: grid; gap: 7px; }
.client-row-meta b { color: var(--ink); }

.pagination { display: flex; justify-content: center; align-items: center; gap: 20px; padding: 22px 0 0; color: var(--muted); font-size: 14px; }
.pagination a { color: var(--green); font-weight: 700; text-decoration: none; }
.empty-state { min-height: 360px; padding: 40px; border: 1px solid var(--line); border-radius: 28px; background: var(--paper); display: grid; place-items: center; align-content: center; text-align: center; }
.empty-state h2 { margin: 16px 0 6px; font-size: 28px; letter-spacing: -.035em; }
.empty-state p { max-width: 480px; margin: 0 0 22px; color: var(--muted); line-height: 1.5; }
.empty-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 20px; color: white; background: var(--green); font-size: 30px; }

.form-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(32px, 7vw, 90px); align-items: start; }
.form-layout > * { min-width: 0; }
.form-intro { position: sticky; top: 30px; }
.form-intro h1 { font-size: clamp(48px, 6.2vw, 72px); }
.form-card { padding: 28px; border: 1px solid var(--line); border-radius: 28px; background: var(--paper); box-shadow: var(--shadow); }
.field-group { margin: 0 0 24px; padding: 0; border: 0; }
.field-group > label, .field-group legend, .danger-zone label { display: block; margin: 0 0 9px; font-size: 14px; font-weight: 740; }
.field-group input[type="text"], .field-group input[type="number"], .field-group textarea, .field-group select, .danger-zone textarea { width: 100%; min-height: 55px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 15px; outline: none; color: var(--ink); background: rgba(255, 255, 255, .78); }
.field-group input:focus, .field-group textarea:focus, .field-group select:focus, .danger-zone textarea:focus { border-color: rgba(18, 90, 69, .48); box-shadow: 0 0 0 4px rgba(18, 90, 69, .08); }
.field-group input:disabled, .field-group textarea:disabled, .field-group select:disabled { color: var(--muted); background: rgba(235, 238, 236, .72); }
.field-help { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.field-error, .errorlist { margin: 8px 0 0; color: var(--red); font-size: 13px; }
.errorlist { padding-left: 18px; }
.form-alert, .success-banner { margin: 0 0 20px; padding: 15px 17px; border-radius: 16px; line-height: 1.45; }
.form-alert { color: var(--red); background: var(--red-soft); }
.success-banner { color: var(--green-deep); background: var(--green-soft); }
.radio-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.radio-card { position: relative; display: flex !important; align-items: flex-start; gap: 12px; min-height: 112px; margin: 0 !important; padding: 17px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .66); cursor: pointer; }
.radio-card:has(input:checked) { border-color: var(--green); background: var(--green-soft); box-shadow: 0 0 0 3px rgba(18, 90, 69, .08); }
.radio-card input { margin-top: 3px; accent-color: var(--green); }
.radio-card strong, .radio-card small { display: block; }
.radio-card strong { margin-bottom: 6px; }
.radio-card small { color: var(--muted); line-height: 1.4; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 6px; }
.form-actions-left { justify-content: flex-start; }
.schedule-editor { padding: 18px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .45); }
.weekday-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.weekday-card { display: flex !important; align-items: center; justify-content: center; min-height: 52px; margin: 0 !important; padding: 10px 8px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255, 255, 255, .7); cursor: pointer; text-align: center; }
.weekday-card:has(input:checked) { color: var(--green); border-color: rgba(18, 90, 69, .42); background: var(--green-soft); box-shadow: 0 0 0 3px rgba(18, 90, 69, .06); }
.weekday-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.weekday-card span { font-size: 12px; font-weight: 740; }
.weekday-card:has(input:focus-visible) { outline: 3px solid rgba(18, 90, 69, .18); outline-offset: 2px; }

.info-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 12px; }
.client-bonus-section { margin: 18px 0; }
.bonus-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 16px 0; }
.bonus-summary article { padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .65); }
.bonus-summary span { display: block; color: var(--muted); font-size: 13px; }
.bonus-summary strong { display: block; margin-top: 6px; font-size: 24px; }
.bonus-forms { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bonus-forms form { padding: 18px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .48); }
.bonus-forms .switch-row { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.bonus-history { margin-top: 18px; }
.info-card { min-height: 112px; padding: 18px; border: 1px solid var(--line); border-radius: 21px; background: var(--paper); display: flex; flex-direction: column; justify-content: space-between; }
.info-card span { color: var(--muted); font-size: 12px; }
.info-card strong { font-size: 16px; overflow-wrap: anywhere; }
.section-card { margin-top: 12px; padding: 26px; border: 1px solid var(--line); border-radius: 28px; background: var(--paper); box-shadow: var(--shadow); }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 18px; }
.section-heading .eyebrow { margin-bottom: 6px; }
.section-heading h2 { margin: 0; font-size: 28px; letter-spacing: -.04em; }
.section-count { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 11px; border-radius: 14px; color: var(--green); background: var(--green-soft); font-weight: 750; }
.item-list { display: grid; }
.item-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 17px 0; border-top: 1px solid var(--line); }
.item-row h3 { margin: 0 0 5px; font-size: 16px; }
.item-row p, .item-row small { margin: 0; color: var(--muted); line-height: 1.45; }
.item-row p { font-size: 13px; }
.item-row small { display: block; margin-top: 4px; font-size: 12px; }
.item-actions { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
.inline-empty { padding: 24px 0 8px; border-top: 1px solid var(--line); color: var(--muted); }
.inline-empty p { margin: 0; }
.danger-zone, .disabled-note { margin-top: 18px; padding: 20px 22px; border: 1px solid rgba(163, 69, 58, .18); border-radius: 22px; background: rgba(255, 255, 255, .52); }
.danger-zone summary { color: var(--red); cursor: pointer; font-weight: 730; }
.danger-zone form { max-width: 620px; margin-top: 20px; }
.danger-zone p, .disabled-note p { color: var(--muted); line-height: 1.5; }
.danger-zone textarea { margin-bottom: 12px; }
.disabled-note strong { color: var(--red); }

.filter-bar select { min-height: 46px; padding: 0 34px 0 13px; border: 1px solid var(--line); border-radius: 13px; color: var(--ink); background: rgba(255, 255, 255, .78); }
.product-list { overflow: hidden; border: 1px solid var(--line); border-radius: 26px; background: var(--paper); box-shadow: var(--shadow); }
.product-row { display: grid; grid-template-columns: minmax(280px, 1.25fr) minmax(220px, .9fr) auto minmax(90px, auto); align-items: center; gap: 18px; min-height: 94px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.product-row:last-child { border-bottom: 0; }
.product-row-paused { background: rgba(249, 235, 214, .30); }
.product-row-archived { background: rgba(235, 238, 236, .38); }
.product-identity { display: flex; align-items: center; gap: 14px; min-width: 0; text-decoration: none; }
.product-identity strong, .product-identity small { display: block; }
.product-identity strong { margin-bottom: 5px; font-size: 17px; overflow-wrap: anywhere; }
.product-identity small { color: var(--muted); font-size: 12px; }
.product-photo-placeholder { display: grid; place-items: center; flex: 0 0 52px; width: 52px; height: 52px; border-radius: 18px; color: #825014; background: var(--orange-soft); font-size: 20px; font-weight: 760; }
.role-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.role-tags span { padding: 7px 9px; border-radius: 999px; color: var(--green); background: var(--green-soft); font-size: 12px; font-weight: 700; }
.role-tags .tag-muted { color: var(--muted); background: #ebeeec; }
.product-row-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
.product-row-actions form { margin: 0; }
.draft-summary { display: grid; gap: 6px; margin-top: 28px; padding: 18px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .56); }
.draft-summary span { margin-top: 8px; color: var(--muted); font-size: 12px; }
.draft-summary span:first-child { margin-top: 0; }
.draft-summary strong { overflow-wrap: anywhere; }
.role-editor-grid { display: grid; grid-template-columns: 1fr 170px; gap: 10px; align-items: stretch; }
.role-editor-card { display: flex !important; align-items: flex-start; gap: 12px; min-height: 86px; margin: 0 !important; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .66); cursor: pointer; }
.role-editor-card:has(input:checked) { border-color: var(--green); background: var(--green-soft); box-shadow: 0 0 0 3px rgba(18, 90, 69, .08); }
.role-editor-card input { margin-top: 4px; accent-color: var(--green); }
.role-editor-card strong, .role-editor-card small { display: block; }
.role-editor-card small { margin-top: 5px; color: var(--muted); line-height: 1.35; }
.role-order-field { padding: 11px 13px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .48); }
.role-order-field label { display: block; margin-bottom: 6px; color: var(--muted); font-size: 11px; line-height: 1.3; }
.role-order-field input { min-height: 42px !important; padding: 9px 11px !important; }
.stock-editor { padding: 18px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .45); }
.stock-toggle-card { display: flex !important; align-items: center; gap: 14px; margin: 0 !important; cursor: pointer; }
.stock-toggle-card strong, .stock-toggle-card small { display: block; }
.stock-toggle-card small { margin-top: 4px; color: var(--muted); line-height: 1.35; }
.production-toggle-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.production-toggle-grid .stock-toggle-card { min-height: 94px; padding: 15px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255, 255, 255, .64); }
.production-toggle-grid .stock-toggle-card:has(input:checked) { border-color: rgba(18, 90, 69, .34); background: var(--green-soft); box-shadow: 0 0 0 3px rgba(18, 90, 69, .06); }
.document-order-field { margin-top: 11px; }
.switch-control { position: relative; flex: 0 0 48px; width: 48px; height: 29px; }
.switch-control input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.switch-control span { position: absolute; inset: 0; border-radius: 999px; background: #c8cecb; transition: background .18s ease; }
.switch-control span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 23px; height: 23px; border-radius: 50%; background: white; box-shadow: 0 2px 7px rgba(24, 38, 31, .18); transition: transform .18s ease; }
.switch-control input:checked + span { background: var(--green); }
.switch-control input:checked + span::after { transform: translateX(19px); }
.switch-control input:focus-visible + span { outline: 3px solid rgba(18, 90, 69, .18); outline-offset: 2px; }
.stock-quantity-field { margin-top: 17px; padding-top: 17px; border-top: 1px solid var(--line); }
.stock-quantity-field[hidden] { display: none; }
.stock-quantity-field > label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 740; }
.night-load-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.night-load-grid > div { min-width: 0; }
.night-load-grid label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 740; }
.quantity-with-unit { display: flex; align-items: center; min-width: 0; border: 1px solid var(--line); border-radius: 15px; background: rgba(255, 255, 255, .78); overflow: hidden; }
.quantity-with-unit input { min-width: 0; width: 100%; min-height: 52px; padding: 12px 14px; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.quantity-with-unit span { flex: 0 0 auto; padding: 0 14px; color: var(--muted); font-weight: 720; }
.draft-notice { margin: 0 0 22px; padding: 17px; border-radius: 17px; color: #6c4a1d; background: var(--orange-soft); }
.draft-notice p { margin: 5px 0 0; line-height: 1.45; }

.pause-note, .pause-zone { margin-top: 18px; padding: 20px 22px; border: 1px solid rgba(202, 126, 31, .22); border-radius: 22px; background: rgba(249, 235, 214, .58); }
.pause-note { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.pause-note p, .pause-zone p { margin: 5px 0 0; color: var(--muted); line-height: 1.45; }
.pause-note form, .pause-zone form { flex: 0 0 auto; margin: 0; }
.pause-zone { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.stock-empty-note { margin-top: 18px; padding: 18px 20px; border: 1px solid rgba(163, 69, 58, .16); border-radius: 20px; background: var(--red-soft); }
.stock-empty-note strong { color: var(--red); }
.stock-empty-note p { margin: 5px 0 0; color: var(--muted); line-height: 1.45; }

.limited-stock-section { margin: 0 0 18px; padding: 22px; border: 1px solid rgba(18, 90, 69, .14); border-radius: 26px; background: rgba(255, 255, 255, .52); box-shadow: var(--shadow); }
.limited-stock-section .section-heading { margin-bottom: 14px; }
.limited-stock-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 10px; }
.stock-mini-card { padding: 15px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .72); }
.stock-mini-card-empty { border-color: rgba(163, 69, 58, .18); background: rgba(250, 231, 228, .38); }
.stock-mini-heading { display: flex; align-items: center; gap: 11px; min-width: 0; text-decoration: none; }
.stock-mini-heading .product-photo-placeholder { width: 43px; height: 43px; flex-basis: 43px; border-radius: 14px; }
.stock-mini-heading strong, .stock-mini-heading small { display: block; }
.stock-mini-heading strong { overflow-wrap: anywhere; }
.stock-mini-heading small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.stock-quick-form { margin-top: 13px; }
.stock-quick-form > label { display: block; margin-bottom: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.stock-quick-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.stock-quick-controls .quantity-with-unit input { min-height: 44px; padding: 8px 10px; }
.stock-quick-controls .quantity-with-unit span { padding: 0 10px; font-size: 12px; }
.stock-quick-controls button { min-height: 44px; padding: 0 12px; border: 0; border-radius: 13px; color: white; background: var(--green); font-size: 12px; font-weight: 730; }
.stock-quick-form.is-saving { opacity: .72; }
.stock-quick-form.has-error .stock-quick-live { color: var(--red); }
.stock-quick-live { display: block; min-height: 17px; margin-top: 5px; color: var(--green); font-size: 10px; line-height: 1.25; }
.role-tags .tag-stock { color: #765526; background: var(--orange-soft); }

.saby-link-card { margin-top: 18px; padding: 24px; border: 1px solid rgba(18, 90, 69, .16); border-radius: 25px; background: rgba(255, 255, 255, .62); box-shadow: var(--shadow); }
.saby-link-card .section-heading { margin-bottom: 16px; }
.saby-link-card p:not(.eyebrow):not(.field-help) { color: var(--muted); line-height: 1.5; }
.saby-current-link { display: grid; grid-template-columns: 1.4fr .8fr .65fr .9fr; gap: 8px; margin-bottom: 14px; }
.saby-current-link > div { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255, 255, 255, .62); }
.saby-current-link span, .saby-current-link strong { display: block; }
.saby-current-link span { margin-bottom: 6px; color: var(--muted); font-size: 11px; }
.saby-current-link strong { overflow-wrap: anywhere; font-size: 14px; }

.saby-search-heading { align-items: center; }
.saby-source-badge { min-width: 220px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .62); }
.saby-source-badge span, .saby-source-badge strong { display: block; }
.saby-source-badge span { margin-bottom: 5px; color: var(--muted); font-size: 11px; }
.saby-source-badge strong { font-size: 14px; }
.saby-search-form { margin-bottom: 22px; padding: 20px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); box-shadow: var(--shadow); }
.saby-search-form > label { display: block; margin-bottom: 9px; font-size: 14px; font-weight: 740; }
.saby-search-form > div:first-of-type { display: flex; gap: 10px; }
.saby-search-form input[type="text"] { flex: 1; min-width: 0; min-height: 54px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 16px; outline: none; background: rgba(255, 255, 255, .78); }
.saby-search-form input[type="text"]:focus { border-color: rgba(18, 90, 69, .48); box-shadow: 0 0 0 4px rgba(18, 90, 69, .08); }
.saby-results-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 30px 0 14px; }
.saby-results-heading h2 { margin: 0; font-size: 30px; letter-spacing: -.04em; }
.saby-result-list { display: grid; gap: 10px; }
.saby-result-card { display: grid; grid-template-columns: minmax(320px, 1.3fr) minmax(260px, .8fr) auto; align-items: center; gap: 20px; padding: 18px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); box-shadow: var(--shadow); }
.saby-result-main { display: flex; gap: 14px; min-width: 0; }
.saby-result-main h3 { margin: 2px 0 5px; font-size: 18px; letter-spacing: -.025em; }
.saby-result-main p { margin: 0; color: var(--muted); font-size: 13px; }
.saby-description { margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.saby-result-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.saby-result-facts div { padding: 10px; border-radius: 13px; background: rgba(230, 241, 236, .66); }
.saby-result-facts span, .saby-result-facts strong { display: block; }
.saby-result-facts span { margin-bottom: 4px; color: var(--muted); font-size: 10px; }
.saby-result-facts strong { font-size: 13px; }
.saby-result-card form { margin: 0; }
.saby-empty { min-height: 260px; }

.client-saby-card form { margin: 16px 0 0; }
.client-saby-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
.client-saby-actions form { margin: 0; }
.client-phone-form { display: grid; gap: 18px; margin-top: 14px; }
.client-saby-facts { grid-template-columns: 1.35fr 1fr .65fr .85fr; }
.client-confirm-heading { align-items: center; }
.client-search-context { display: grid; grid-template-columns: 1.4fr 1fr .55fr; gap: 8px; margin-bottom: 14px; padding: 10px; border: 1px solid rgba(18, 90, 69, .16); border-radius: 24px; background: rgba(255, 255, 255, .54); box-shadow: var(--shadow); }
.client-search-context div { min-width: 0; padding: 15px 17px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255, 255, 255, .68); }
.client-search-context span, .client-search-context strong { display: block; }
.client-search-context span { margin-bottom: 6px; color: var(--muted); font-size: 11px; }
.client-search-context strong { overflow-wrap: anywhere; font-size: 16px; }
.saby-client-result-card { grid-template-columns: minmax(260px, 1fr) minmax(330px, 1.15fr) auto; }
.saby-result-card-current { border-color: rgba(18, 90, 69, .38); box-shadow: 0 20px 60px rgba(18, 90, 69, .10); }
.candidate-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.candidate-title-row h3 { margin-right: 2px; }
.client-candidate-facts { grid-template-columns: minmax(90px, .55fr) minmax(220px, 1.45fr); }
.technical-id { overflow-wrap: anywhere; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 11px !important; line-height: 1.35; }
.client-match-card { display: grid; grid-template-columns: minmax(230px, .7fr) minmax(0, 1.3fr); gap: 10px; padding: 10px; border: 1px solid rgba(18, 90, 69, .16); border-radius: 28px; background: rgba(255, 255, 255, .58); box-shadow: var(--shadow); }
.client-match-store, .client-match-details article { padding: 22px; border: 1px solid var(--line); border-radius: 21px; background: rgba(255, 255, 255, .72); }
.client-match-store { display: flex; flex-direction: column; justify-content: center; min-height: 174px; background: var(--green-soft); }
.client-match-store span, .client-match-details span { display: block; margin-bottom: 7px; color: var(--muted); font-size: 12px; }
.client-match-store strong { font-size: clamp(24px, 4vw, 34px); letter-spacing: -.035em; }
.client-match-store small { margin-top: 9px; color: var(--green); font-weight: 720; }
.client-match-details { display: grid; grid-template-columns: 1.25fr .75fr; gap: 10px; }
.client-match-details article { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.client-match-details strong { overflow-wrap: anywhere; font-size: clamp(19px, 3vw, 27px); letter-spacing: -.025em; }
.confirm-note { margin-top: 14px; padding: 18px 20px; border-radius: 19px; color: #6c4a1d; background: var(--orange-soft); }
.confirm-note p { margin: 5px 0 0; line-height: 1.45; }
.client-confirm-actions { justify-content: flex-end; }
.client-confirm-actions form { margin: 0; }

.code-result { max-width: 820px; margin: 0 auto; padding: 20px 0 40px; text-align: center; }
.code-result .lead { margin-left: auto; margin-right: auto; }
.code-card { margin: 34px 0 14px; padding: clamp(25px, 5vw, 42px); border: 1px solid var(--line); border-radius: 30px; background: var(--paper); box-shadow: var(--shadow); display: flex; align-items: center; justify-content: center; gap: 24px; }
.code-card code { font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: clamp(36px, 8vw, 68px); font-weight: 750; letter-spacing: .08em; color: var(--green); }
.copy-button { color: var(--green); background: var(--green-soft); }
.copy-button.is-copied { color: white; background: var(--green); }
.code-notice { margin-bottom: 22px; padding: 18px; border-radius: 19px; color: #6c4a1d; background: var(--orange-soft); text-align: left; }
.code-notice p { margin: 5px 0 0; line-height: 1.45; }
.code-comment { display: flex; justify-content: space-between; gap: 20px; margin: 0 0 14px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .62); text-align: left; }
.code-comment span { color: var(--muted); font-size: 13px; }
.code-comment strong { overflow-wrap: anywhere; text-align: right; }
.code-result .form-actions { justify-content: center; }

.message-card { max-width: 680px; min-height: 480px; margin: 0 auto; padding: 42px; border: 1px solid var(--line); border-radius: 34px; background: var(--paper); box-shadow: var(--shadow); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.message-card h1 { font-size: clamp(42px, 7vw, 62px); }
.message-card .primary-button { margin-top: 26px; }
.message-icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 28px; border-radius: 18px; color: var(--red); background: var(--red-soft); font-size: 26px; font-weight: 800; }

footer { margin-top: 46px; padding-top: 22px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.centered-page { display: grid; place-items: center; padding: 20px; }
.auth-card { width: min(620px, 100%); min-height: 540px; padding: clamp(28px, 6vw, 58px); border: 1px solid var(--line); border-radius: 36px; background: var(--paper); backdrop-filter: blur(24px); box-shadow: 0 30px 90px rgba(51, 41, 25, .10); display: flex; flex-direction: column; justify-content: space-between; gap: 52px; }
.auth-card h1 { font-size: clamp(40px, 8vw, 66px); }

@media (max-width: 980px) {
  .admin-email { display: none; }
  .topbar { min-height: 58px; gap: 12px; }
  .main-nav {
    order: 3;
    position: fixed;
    z-index: 20;
    left: 12px;
    right: 12px;
    bottom: 12px;
    justify-content: flex-start;
    overflow-x: auto;
    background: rgba(250, 249, 245, .92);
    box-shadow: 0 14px 50px rgba(23, 34, 29, .18);
    scrollbar-width: none;
  }
  .main-nav::-webkit-scrollbar { display: none; }
  .main-nav a { flex: 0 0 auto; text-align: center; }
  .account-actions { margin-left: auto; }
  .workspace-grid { grid-template-columns: 1fr 1fr; }
  .workspace-card-primary { grid-row: span 2; }
  .client-row { grid-template-columns: minmax(240px, 1fr) auto auto; }
  .client-row-meta { display: none; }
  .product-row { grid-template-columns: minmax(250px, 1fr) auto auto; }
  .product-row .role-tags { display: none; }
  .form-layout { grid-template-columns: 1fr; }
  .form-intro { position: static; }
  .info-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .shell { width: auto; max-width: 1180px; margin-right: 12px; margin-left: 12px; padding-top: 14px; }
  .topbar { min-height: 58px; margin-bottom: 34px; gap: 12px; }
  .brand { font-size: 22px; }
  .main-nav { order: 3; position: fixed; z-index: 20; left: 12px; right: 12px; bottom: 12px; justify-content: flex-start; overflow-x: auto; background: rgba(250, 249, 245, .92); box-shadow: 0 14px 50px rgba(23, 34, 29, .18); scrollbar-width: none; }
  .main-nav::-webkit-scrollbar { display: none; }
  .main-nav a { flex: 0 0 auto; text-align: center; }
  .account-actions { margin-left: auto; }
  h1 { font-size: 46px; }
  .lead { font-size: 16px; }
  .page-heading, .detail-heading { align-items: stretch; flex-direction: column; }
  .page-heading .primary-button { width: 100%; }
  .heading-actions { justify-content: space-between; }
  .bonus-summary { grid-template-columns: 1fr 1fr; }
  .bonus-forms { grid-template-columns: 1fr; }
  .metric-row { grid-template-columns: 1fr 1fr; }
  .workspace-grid { grid-template-columns: 1fr; }
  .workspace-card-primary { grid-row: auto; }
  .workspace-card { min-height: 210px; }
  .guardrail { grid-template-columns: 1fr; gap: 24px; }
  dl { grid-template-columns: 1fr; }
  .client-row { grid-template-columns: 1fr auto; gap: 12px; min-height: 102px; }
  .client-row > .status { display: none; }
  .client-avatar { width: 44px; height: 44px; flex-basis: 44px; }
  .search-bar { flex-wrap: wrap; }
  .search-bar input { flex-basis: calc(100% - 104px); }
  .search-bar a { width: 100%; text-align: center; }
  .radio-cards { grid-template-columns: 1fr; }
  .weekday-grid { grid-template-columns: 1fr 1fr; }
  .form-card, .section-card { padding: 20px; border-radius: 23px; }
  .form-actions { flex-direction: column-reverse; }
  .form-actions > * { width: 100%; }
  .info-grid { grid-template-columns: 1fr 1fr; }
  .item-row { align-items: flex-start; flex-direction: column; }
  .item-actions { width: 100%; justify-content: space-between; }
  .code-card { flex-direction: column; }
  .code-card code { font-size: clamp(31px, 12vw, 54px); }
  .code-result .form-actions { flex-direction: column; }
  .filter-bar select { flex: 1; }
  .limited-stock-section { padding: 17px; border-radius: 22px; }
  .stock-quick-controls { grid-template-columns: minmax(0, 1fr) auto; }
  .product-row { grid-template-columns: 1fr auto; gap: 12px; padding: 15px; }
  .product-row > div:nth-of-type(2) { display: none; }
  .product-row-actions { grid-column: 1 / -1; align-items: flex-start; text-align: left; }
  .pause-note, .pause-zone { align-items: stretch; flex-direction: column; }
  .pause-note form, .pause-note button, .pause-zone form, .pause-zone button { width: 100%; }
  .role-editor-grid { grid-template-columns: 1fr; }
  .night-load-grid { grid-template-columns: 1fr; }
  .role-order-field { margin-top: -4px; }
  .saby-current-link { grid-template-columns: 1fr 1fr; }
  .saby-result-card { grid-template-columns: 1fr; }
  .saby-result-card .primary-button { width: 100%; }
  .client-search-context { grid-template-columns: 1fr; }
  .client-saby-actions { align-items: stretch; flex-direction: column; }
  .client-saby-actions > *, .client-saby-actions button { width: 100%; }
  .client-candidate-facts { grid-template-columns: 1fr 1.5fr; }
  .client-match-card, .client-match-details { grid-template-columns: 1fr; }
  .sync-run-strip, .sale-facts { grid-template-columns: 1fr 1fr; }
  .sale-resolution-context { grid-template-columns: 1fr; }
  .sale-client-candidate { grid-template-columns: 1fr auto; }
  .sale-client-candidate form, .candidate-unavailable { grid-column: 1 / -1; max-width: none; }
  .sale-client-candidate form button { width: 100%; }
  .sale-link-already { align-items: stretch; flex-direction: column; }
  .sale-link-already .secondary-button { width: 100%; }
  .client-match-store { min-height: 140px; }
  .client-confirm-actions form, .client-confirm-actions button { width: 100%; }
  footer { padding-bottom: 82px; align-items: flex-start; flex-direction: column; }
}

/* Stage 11 local catalog */
.catalog-heading { align-items: end; }
.catalog-order-notice,
.catalog-order-live {
  display: flex; align-items: center; gap: 14px; margin: 0 0 18px; padding: 15px 18px;
  border: 1px solid rgba(13, 101, 75, .14); border-radius: 18px;
  background: rgba(230, 241, 236, .72); color: var(--muted);
}
.catalog-order-notice strong { color: var(--green); white-space: nowrap; }
.catalog-publication { margin-bottom: 18px; }
.catalog-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.catalog-stock-drawer { margin: 18px 0; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.72); overflow: clip; }
.catalog-stock-drawer > summary { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; cursor: pointer; list-style: none; }
.catalog-stock-drawer > summary::-webkit-details-marker { display: none; }
.catalog-stock-drawer > summary span { display: grid; gap: 3px; }
.catalog-stock-drawer > summary small { color: var(--muted); font-weight: 500; }
.catalog-stock-drawer > summary b { display: grid; place-items: center; min-width: 42px; height: 42px; border-radius: 14px; color: var(--green); background: var(--mint); }
.catalog-stock-drawer .limited-stock-grid { padding: 0 18px 18px; }
.catalog-filter-panel {
  display: grid; grid-template-columns: minmax(220px, 1.6fr) repeat(4, minmax(130px, .8fr)) auto auto;
  align-items: end; gap: 10px; margin: 18px 0 22px; padding: 14px;
  border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.72);
}
.catalog-filter-panel label { display: grid; gap: 6px; min-width: 0; }
.catalog-filter-panel label > span { padding-left: 4px; color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.catalog-filter-panel input,
.catalog-filter-panel select { width: 100%; min-width: 0; height: 48px; padding: 0 13px; border: 1px solid var(--line); border-radius: 14px; background: rgba(250,250,248,.92); color: var(--ink); font: inherit; }
.catalog-filter-panel button,
.catalog-filter-panel > a { display: grid; place-items: center; height: 48px; padding: 0 18px; border: 0; border-radius: 14px; font-weight: 750; text-decoration: none; }
.catalog-filter-panel button { color: white; background: var(--green); }
.catalog-filter-panel > a { color: var(--green); background: var(--mint); }
.catalog-tile-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); gap: 14px; }
.catalog-product-tile {
  position: relative; display: grid; grid-template: "card" 212px / minmax(0, 1fr); min-width: 0;
  border: 1px solid rgba(29, 50, 43, .12); border-radius: 24px; overflow: hidden;
  background: rgba(255,255,255,.54); box-shadow: 0 13px 34px rgba(31, 54, 45, .08);
  isolation: isolate; transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.catalog-product-tile:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(31, 54, 45, .11); }
.catalog-product-tile.is-paused { border-color: rgba(236, 174, 94, .38); }
.catalog-product-tile.is-archived { filter: grayscale(.45); opacity: .64; }
.catalog-product-photo { position: absolute; z-index: 0; inset: 0; display: grid; place-items: center; overflow: hidden; border-radius: inherit; background: linear-gradient(135deg, #b8cabf, #e8cda8); text-decoration: none; }
.catalog-product-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(249,248,243,.90) 0%, rgba(247,246,240,.64) 52%, rgba(247,246,240,.10) 100%); }
.catalog-product-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .28s ease; }
.catalog-product-tile:hover .catalog-product-photo > img { transform: scale(1.025); }
.catalog-product-tile.is-paused .catalog-product-photo > img { filter: saturate(.45) contrast(.9); }
.catalog-product-photo > span { color: rgba(13,101,75,.28); font-size: 74px; font-weight: 780; }
.catalog-drag-handle { position: absolute; right: 12px; top: 12px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 14px; color: var(--green); background: rgba(255,255,255,.9); font-size: 22px; }
.catalog-product-body { position: relative; z-index: 1; display: grid; grid-area: card; grid-template-rows: auto 1fr auto; gap: 10px; max-width: min(80%, 430px); padding: 17px 18px; color: var(--ink); pointer-events: none; }
.catalog-product-heading { display: grid; gap: 3px; min-width: 0; padding-right: 80px; }
.catalog-product-heading > a { color: var(--ink); text-decoration: none; pointer-events: auto; }
.catalog-product-heading > a strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 19px; line-height: 1.14; text-wrap: balance; }
.catalog-product-heading > small { overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.catalog-tile-meta { display: flex; align-content: start; flex-wrap: wrap; gap: 5px; overflow: hidden; }
.catalog-tile-meta span { padding: 5px 7px; border: 1px solid rgba(13,101,75,.11); border-radius: 8px; background: rgba(250,250,247,.82); color: var(--green); font-size: 9px; font-weight: 720; }
.catalog-tile-meta .catalog-role-position { display: inline-flex; align-items: center; gap: 4px; }
.catalog-role-position svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.catalog-role-position b { font: inherit; }
.catalog-tile-meta .is-linked { border-color: rgba(13,101,75,.22); color: var(--green); background: rgba(230,241,236,.82); letter-spacing: .05em; }
.catalog-tile-meta .is-warning { color: #805114; background: rgba(247,234,215,.82); }
.catalog-tile-meta .is-stock { color: #805114; background: rgba(247,234,215,.82); }
.catalog-product-footer { display: flex; align-items: end; gap: 9px; min-width: 0; }
.catalog-tile-state { flex: 1; min-width: 0; color: var(--red); font-size: 10px; font-weight: 720; line-height: 1.25; }
.catalog-tile-state .is-ready { color: var(--green); }
.catalog-availability-form { display: grid; justify-items: end; gap: 2px; pointer-events: auto; }
.catalog-quick-availability { min-height: 32px; padding: 0 10px; border: 1px solid rgba(121,83,27,.18); border-radius: 10px; color: #704a18; background: rgba(250,250,247,.88); font: inherit; font-size: 10px; font-weight: 780; cursor: pointer; }
.catalog-quick-availability:hover { background: rgba(255,255,255,.9); }
.catalog-quick-availability.is-resume { border-color: rgba(13,101,75,.22); color: #fff; background: rgba(13,101,75,.84); }
.catalog-quick-availability:disabled { cursor: wait; opacity: .66; }
.catalog-availability-live { min-height: 12px; color: var(--muted); font-size: 8px; line-height: 1.15; }
.catalog-tile-edit { position: absolute; z-index: 2; top: 13px; right: 13px; padding: 9px 10px; border: 1px solid rgba(13,101,75,.16); border-radius: 11px; color: var(--green); background: rgba(250,250,247,.88); text-align: center; text-decoration: none; font-size: 10px; font-weight: 780; }
.catalog-tile-edit:hover { background: rgba(255,255,255,.94); }
.catalog-tile-grid.is-ordering .catalog-product-tile { cursor: grab; user-select: none; }
.catalog-tile-grid.is-ordering .catalog-product-tile.is-dragging { opacity: .42; transform: scale(.97); }
.catalog-tile-grid.is-ordering .catalog-product-tile:focus-visible { outline: 3px solid rgba(13,101,75,.35); outline-offset: 3px; }
.catalog-tile-grid.is-ordering .catalog-product-body { max-width: 86%; }
.catalog-order-live { position: sticky; z-index: 5; bottom: 14px; justify-content: center; margin-top: 18px; color: var(--green); font-weight: 700; backdrop-filter: blur(14px); }

@supports (content-visibility: auto) {
  .catalog-product-tile {
    content-visibility: auto;
    contain-intrinsic-size: auto 212px;
  }
}

@media (hover: none), (prefers-reduced-motion: reduce) {
  .catalog-product-tile,
  .catalog-product-photo > img,
  main.shell { transition: none; }
  .catalog-product-tile:hover,
  .catalog-product-tile:hover .catalog-product-photo > img { transform: none; }
}

@media (max-width: 1180px) {
  .catalog-metrics { grid-template-columns: repeat(3, 1fr); }
  .catalog-filter-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .catalog-search { grid-column: span 2; }
}
@media (max-width: 720px) {
  .catalog-metrics { grid-template-columns: repeat(2, 1fr); }
  .catalog-filter-panel { grid-template-columns: 1fr 1fr; }
  .catalog-search { grid-column: 1 / -1; }
  .catalog-filter-panel button { grid-column: 1 / -1; }
  .catalog-tile-grid { grid-template-columns: 1fr; gap: 10px; }
  .catalog-product-tile { grid-template-rows: 202px; border-radius: 20px; }
  .catalog-product-body { max-width: 86%; padding: 14px; }
  .catalog-product-heading { padding-right: 64px; }
  .catalog-product-heading > a strong { font-size: 17px; }
  .catalog-tile-edit { top: 11px; right: 11px; max-width: 74px; padding: 8px; font-size: 9px; }
}

@media (max-width: 430px) {
  .info-grid { grid-template-columns: 1fr; }
  .bonus-summary { grid-template-columns: 1fr; }
  .heading-actions { align-items: stretch; flex-direction: column; }
  .heading-actions form, .heading-actions button { width: 100%; }
  .client-row { padding: 15px; }
  .client-row p { max-width: 210px; }
  .code-card { padding-left: 14px; padding-right: 14px; }
  .code-card code { letter-spacing: .035em; }
  .stock-quick-controls { grid-template-columns: 1fr; }
  .stock-quick-controls button { width: 100%; }
  .saby-search-form > div:first-of-type { flex-direction: column; }
  .saby-current-link, .saby-result-facts, .client-candidate-facts { grid-template-columns: 1fr; }
  .sync-run-strip, .sale-facts { grid-template-columns: 1fr; }
  .sale-issue-heading { flex-direction: column; }
  .sale-customer-action, .sale-client-candidate { align-items: stretch; flex-direction: column; grid-template-columns: 1fr; }
  .sale-customer-action .primary-button { width: 100%; }
  .sale-client-candidate-state { justify-content: flex-start; }
}

.schedule-heading { margin-bottom: 22px; }
.schedule-now-grid { display: grid; grid-template-columns: 1.12fr 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.schedule-time-card { min-height: 176px; padding: 22px; border: 1px solid var(--line); border-radius: 26px; background: var(--paper); box-shadow: var(--shadow); display: flex; flex-direction: column; justify-content: space-between; }
.schedule-time-card > span { color: var(--muted); font-size: 13px; font-weight: 700; }
.schedule-time-card strong { margin: 18px 0 8px; font-size: clamp(42px, 6vw, 66px); line-height: .9; letter-spacing: -.06em; }
.schedule-time-card p { margin: 0; color: var(--muted); line-height: 1.4; }
.schedule-time-card-primary { color: white; background: linear-gradient(145deg, #17664f, #0d4d3b); border-color: transparent; }
.schedule-time-card-primary > span, .schedule-time-card-primary p { color: rgba(255, 255, 255, .74); }
.schedule-time-card-pending { border-color: rgba(216, 128, 28, .24); background: linear-gradient(145deg, rgba(255, 255, 255, .84), rgba(248, 234, 215, .86)); }
.schedule-time-card-pending strong { color: #8a5111; }
.schedule-time-card-quiet strong { color: var(--green); }
.schedule-editor-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); gap: 12px; align-items: start; }
.schedule-form { display: grid; gap: 22px; }
.schedule-form h2 { margin: 0 0 10px; font-size: clamp(28px, 4vw, 40px); letter-spacing: -.045em; }
.schedule-rule { max-width: 620px; margin: 0; color: var(--muted); line-height: 1.55; }
.schedule-time-field { margin: 0; }
.schedule-time-field input[type="time"] { width: 100%; min-height: 112px; padding: 12px 20px; border: 1px solid var(--line); border-radius: 22px; outline: none; color: var(--ink); background: rgba(255, 255, 255, .82); font-size: clamp(42px, 7vw, 68px); font-weight: 740; letter-spacing: -.045em; }
.schedule-time-field input[type="time"]:focus { border-color: rgba(18, 90, 69, .48); box-shadow: 0 0 0 4px rgba(18, 90, 69, .08); }
.schedule-confirm { display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 14px 16px; border-radius: 16px; background: rgba(230, 241, 236, .72); cursor: pointer; font-weight: 690; }
.schedule-confirm input { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--green); }
.schedule-save-button { width: 100%; min-height: 62px; font-size: 17px; }
.schedule-history { margin-top: 0; }
.schedule-history-row { align-items: flex-start; }
.schedule-history-row h3 { font-size: 22px; }

@media (max-width: 900px) {
  .schedule-now-grid { grid-template-columns: 1fr 1fr; }
  .schedule-time-card-quiet { grid-column: 1 / -1; min-height: 140px; }
  .schedule-editor-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .schedule-now-grid { grid-template-columns: 1fr; }
  .schedule-time-card, .schedule-time-card-quiet { grid-column: auto; min-height: 158px; }
  .schedule-time-field input[type="time"] { min-height: 96px; }
}

/* Stage 8A.1 — verified warehouse mapping; no Saby document writes */
.documents-heading { align-items: flex-start; }
.documents-safety-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  margin: 0 0 12px;
  padding: 18px 21px;
  border: 1px solid rgba(216, 128, 28, .20);
  border-radius: 22px;
  background: rgba(248, 234, 215, .68);
}
.documents-safety-note strong { color: #765526; }
.documents-safety-note p { margin: 0; color: var(--muted); line-height: 1.45; }
.documents-production-note {
  border-color: rgba(18, 90, 69, .18);
  background: rgba(224, 241, 234, .72);
}
.documents-production-note strong { color: var(--green); }
.documents-verification-warning { margin: 0 0 12px; padding: 16px 19px; border: 1px solid rgba(216, 128, 28, .18); border-radius: 20px; background: rgba(255, 255, 255, .58); }
.documents-verification-warning strong { color: #765526; }
.documents-verification-warning p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }

.document-sender-card,
.document-current-binding {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 30px;
  padding: 25px;
  border: 1px solid rgba(18, 90, 69, .16);
  border-radius: 27px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .82), rgba(230, 241, 236, .70));
  box-shadow: var(--shadow);
}
.document-sender-card h2 { margin: 1px 0 8px; font-size: 31px; letter-spacing: -.04em; }
.document-sender-card p:not(.eyebrow),
.document-current-binding p { margin: 0; color: var(--muted); line-height: 1.45; }
.document-binding-action { display: flex; align-items: center; gap: 11px; }

.document-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin: 32px 0 13px;
}
.document-section-heading h2 { margin: 0; font-size: 31px; letter-spacing: -.04em; }
.document-section-heading > span { color: var(--muted); font-size: 13px; }

.document-client-list { overflow: hidden; border: 1px solid var(--line); border-radius: 26px; background: var(--paper); box-shadow: var(--shadow); }
.document-client-row {
  display: grid;
  grid-template-columns: minmax(220px, .85fr) minmax(260px, 1.25fr) auto auto;
  align-items: center;
  gap: 18px;
  min-height: 106px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
}
.document-client-row:last-child { border-bottom: 0; }
.document-client-row-disabled { background: rgba(235, 238, 236, .44); }
.document-client-identity { display: flex; align-items: center; gap: 14px; min-width: 0; }
.document-client-identity h3 { margin: 0 0 5px; overflow-wrap: anywhere; font-size: 18px; }
.document-client-identity p,
.document-warehouse-summary span { margin: 0; color: var(--muted); font-size: 12px; }
.document-warehouse-summary { min-width: 0; }
.document-warehouse-summary strong,
.document-warehouse-summary span { display: block; overflow-wrap: anywhere; }
.document-warehouse-summary strong { margin-bottom: 5px; font-size: 14px; }
.document-warehouse-summary span { line-height: 1.4; }

.documents-audit { margin-top: 13px; }
.documents-audit-list { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 26px !important; }
.documents-audit-list article { padding: 14px 0; border-bottom: 1px solid var(--line); }
.documents-audit-list strong,
.documents-audit-list span,
.documents-audit-list small { display: block; }
.documents-audit-list span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.documents-audit-list small { margin-top: 5px; color: var(--green); }

.document-current-binding { margin-bottom: 12px; }
.document-current-binding > div > span,
.document-current-binding > div > strong { display: block; }
.document-current-binding > div > span { margin-bottom: 6px; color: var(--muted); font-size: 11px; }
.document-current-binding > div > strong { margin-bottom: 5px; font-size: 20px; }
.documents-integration-error {
  padding: 25px;
  border: 1px solid rgba(163, 69, 58, .18);
  border-radius: 27px;
  background: rgba(247, 230, 227, .74);
  box-shadow: var(--shadow);
}
.documents-integration-error strong { color: var(--red); font-size: 20px; }
.documents-integration-error p { margin: 8px 0 18px; color: var(--muted); line-height: 1.5; }

.warehouse-option-list { display: grid; gap: 9px; }
.warehouse-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 19px 20px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(255, 255, 255, .70);
  box-shadow: 0 14px 36px rgba(51, 41, 25, .045);
}
.warehouse-option-suggested { border-color: rgba(18, 90, 69, .30); background: rgba(230, 241, 236, .72); }
.warehouse-option-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.warehouse-option h3 { margin: 0; overflow-wrap: anywhere; font-size: 19px; letter-spacing: -.025em; }
.warehouse-option p { margin: 7px 0 0; color: var(--muted); font-size: 13px; line-height: 1.4; }
.warehouse-option small { display: block; margin-top: 7px; color: var(--green); }
.warehouse-option form { margin: 0; }
.documents-footnote { max-width: 840px; margin: 17px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }

@media (max-width: 900px) {
  .document-client-row { grid-template-columns: minmax(210px, 1fr) minmax(230px, 1fr) auto; }
  .document-client-row > .secondary-button { grid-column: 2 / -1; justify-self: end; }
}

@media (max-width: 680px) {
  .documents-safety-note,
  .document-sender-card,
  .document-current-binding,
  .warehouse-option { grid-template-columns: 1fr; }
  .document-binding-action { align-items: stretch; flex-direction: column; }
  .document-binding-action .status { align-self: flex-start; }
  .document-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .document-client-row { grid-template-columns: minmax(0, 1fr) auto; gap: 14px; }
  .document-warehouse-summary { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid var(--line); }
  .document-client-row > .status { grid-column: 1; justify-self: start; }
  .document-client-row > .secondary-button { grid-column: 2; justify-self: stretch; }
  .documents-audit-list { grid-template-columns: 1fr !important; }
.warehouse-option form,
  .warehouse-option .primary-button { width: 100%; }
}

/* Stage 9D.2 — unified, read-only day-closure dashboard */
.closure-freshness {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 12px;
  padding: 0 4px;
  color: var(--muted);
  font-size: 12px;
}
.closure-freshness span { font-weight: 760; color: var(--green); }
.closure-freshness strong { text-align: right; font-weight: 640; }

.closure-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.closure-metric-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  min-width: 0;
  min-height: 210px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 28px;
  color: var(--ink);
  background: rgba(255, 255, 255, .76);
  box-shadow: var(--shadow);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.closure-metric-card:hover { transform: translateY(-2px); border-color: rgba(18, 90, 69, .22); }
.closure-metric-card:focus-visible { outline: none; box-shadow: 0 0 0 4px rgba(18, 90, 69, .14), var(--shadow); }
.closure-metric-card.is-active { border-color: rgba(18, 90, 69, .38); box-shadow: 0 24px 70px rgba(30, 64, 50, .12); }
.closure-metric-card > span,
.closure-metric-card > strong,
.closure-metric-card > small,
.closure-metric-card > em { display: block; max-width: calc(100% - 28px); }
.closure-metric-label { color: var(--muted); font-size: 12px; font-weight: 760; letter-spacing: .01em; }
.closure-metric-card > strong {
  margin-top: auto;
  font-size: clamp(33px, 3.6vw, 49px);
  line-height: .98;
  letter-spacing: -.055em;
  font-variant-numeric: tabular-nums;
}
.closure-metric-card > strong b { font-size: .43em; letter-spacing: 0; }
.closure-metric-mode > strong { font-size: clamp(25px, 2.5vw, 33px); letter-spacing: -.04em; }
.closure-metric-schedule > strong { font-size: clamp(31px, 3.2vw, 44px); }
.closure-metric-card > small { margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.35; }
.closure-metric-card > em { margin-top: 12px; color: #9a5e08; font-size: 11px; font-style: normal; font-weight: 760; }
.closure-metric-card > em.is-calm { color: var(--green); }
.closure-metric-card > i { position: absolute; right: 20px; top: 19px; font-size: 22px; font-style: normal; transition: transform .18s ease; }
.closure-metric-card.is-active > i { transform: rotate(180deg); }
.closure-metric-requests,
.closure-metric-mode.is-automatic {
  color: white;
  border-color: transparent;
  background: linear-gradient(145deg, rgba(23, 102, 79, .99), rgba(11, 69, 53, .99));
}
.closure-metric-requests .closure-metric-label,
.closure-metric-requests > small,
.closure-metric-mode.is-automatic .closure-metric-label,
.closure-metric-mode.is-automatic > small { color: rgba(255, 255, 255, .72); }
.closure-metric-requests > em { color: #ffd58d; }
.closure-metric-requests > em.is-calm,
.closure-metric-mode.is-automatic > em.is-calm { color: rgba(255, 255, 255, .82); }

.closure-dashboard-panel {
  margin-top: 12px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--line);
  border-radius: 30px;
  background: rgba(255, 255, 255, .69);
  box-shadow: var(--shadow);
  backdrop-filter: blur(24px);
}
.closure-dashboard-panel[hidden],
.closure-tab-panel[hidden],
.closure-filter-empty[hidden],
.closure-entity-card[hidden] { display: none !important; }
.closure-panel-heading { align-items: flex-end; margin-bottom: 18px; }
.closure-panel-heading h2 { font-size: clamp(29px, 4vw, 42px); }
.closure-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 17px;
  padding: 6px;
  border-radius: 19px;
  background: rgba(229, 235, 231, .72);
}
.closure-tabs button {
  min-width: 0;
  padding: 12px 14px;
  border: 0;
  border-radius: 14px;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 730;
  cursor: pointer;
}
.closure-tabs button span { margin-left: 5px; white-space: nowrap; }
.closure-tabs button[aria-selected="true"] { color: var(--green); background: rgba(255, 255, 255, .94); box-shadow: 0 8px 22px rgba(46, 63, 55, .07); }
.closure-tabs button:focus-visible { outline: 3px solid rgba(18, 90, 69, .13); }

.closure-list-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 330px);
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.closure-filter-group { display: flex; flex-wrap: wrap; gap: 6px; }
.closure-filter-group button {
  min-height: 39px;
  padding: 8px 13px;
  border: 1px solid var(--line);
  border-radius: 13px;
  color: var(--muted);
  background: rgba(255, 255, 255, .58);
  font: inherit;
  font-size: 12px;
  font-weight: 720;
  cursor: pointer;
}
.closure-filter-group button.is-active { color: white; border-color: var(--green); background: var(--green); }
.closure-search input {
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 15px;
  color: var(--ink);
  background: rgba(255, 255, 255, .76);
  font: inherit;
}
.closure-search input:focus { outline: none; border-color: rgba(18, 90, 69, .38); box-shadow: 0 0 0 3px rgba(18, 90, 69, .09); }
.closure-filter-empty { margin: 14px 0 0; padding: 18px; color: var(--muted); text-align: center; }

.closure-entity-summary-status { display: flex !important; align-items: flex-end; flex-direction: column; gap: 7px; text-align: right; }
.closure-entity-summary-status > strong { font-size: 14px !important; font-variant-numeric: tabular-nums; }
.closure-order-card { padding: 15px 0 3px; }
.closure-order-card + .closure-order-card { margin-top: 12px; border-top: 1px solid var(--line); }
.closure-late-order-card { margin: 10px -12px 0; padding: 15px 12px 10px; border: 1px solid rgba(163, 69, 58, .20) !important; border-radius: 16px; background: rgba(247, 230, 227, .50); }
.closure-order-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.closure-order-heading > div:last-child { text-align: right; }
.closure-order-heading span,
.closure-order-heading strong { display: block; }
.closure-order-heading span { margin-bottom: 4px; color: var(--muted); font-size: 11px; }
.closure-order-heading strong { font-size: 13px; line-height: 1.35; }
.closure-product-list small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 570; }
.closure-product-list-money > li > strong { text-align: right; }
.closure-calm-state {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 110px;
  padding: 20px;
  border-radius: 22px;
  color: var(--green);
  background: var(--green-soft);
}
.closure-calm-state > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(255, 255, 255, .72); font-size: 22px; }
.closure-calm-state strong { display: block; font-size: 18px; }
.closure-calm-state p { margin: 5px 0 0; color: var(--muted); }
.closure-warning-box { margin-top: 12px; padding: 0 17px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .50); }
.closure-warning-box > summary { padding: 16px 0; color: var(--muted); font-size: 13px; font-weight: 730; cursor: pointer; }
.closure-warning-box > .closure-issue-list { padding-bottom: 16px; }
.closure-issue-action { display: inline-flex; margin-top: 9px; color: var(--green); font-size: 12px; font-weight: 750; }
.closure-money-total { color: var(--green); font-size: clamp(28px, 4vw, 43px); letter-spacing: -.04em; }
.closure-neutral-note { margin: -4px 0 16px; padding: 13px 16px; border-radius: 16px; color: var(--muted); background: rgba(230, 241, 236, .68); font-size: 13px; line-height: 1.45; }
.closure-summary-money {
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255, 255, 255, .48);
  overflow: hidden;
}
.closure-summary-money > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 19px;
  color: var(--green);
  cursor: pointer;
  font-size: 13px;
  font-weight: 740;
  list-style: none;
}
.closure-summary-money > summary::-webkit-details-marker { display: none; }
.closure-summary-money > summary::after { content: "⌄"; margin-left: 2px; font-size: 20px; transition: transform .18s ease; }
.closure-summary-money[open] > summary::after { transform: rotate(180deg); }
.closure-summary-money > summary strong { margin-left: auto; color: var(--ink); font-size: 20px; font-variant-numeric: tabular-nums; }
.closure-summary-money-body { padding: 0 19px 19px; }
.closure-summary-money-body .closure-neutral-note { margin-top: 0; }

.closure-schedule-panel { display: block; }
.closure-schedule-panel[hidden] { display: none; }
.closure-schedule-standalone { margin-top: 12px; }
.closure-schedule-intro {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  align-items: center;
  gap: 19px;
}
.closure-schedule-icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border-radius: 22px;
  color: white;
  background: var(--green);
  font-size: 30px;
}
.closure-schedule-intro h2 { margin: 4px 0 6px; font-size: clamp(28px, 4vw, 40px); }
.closure-schedule-intro p:not(.eyebrow) { max-width: 720px; margin: 0; color: var(--muted); line-height: 1.48; }
.closure-schedule-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 20px;
}
.closure-schedule-time-card {
  min-height: 122px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255, 255, 255, .64);
}
.closure-schedule-time-card > span,
.closure-schedule-time-card > strong,
.closure-schedule-time-card > small { display: block; }
.closure-schedule-time-card > span { color: var(--muted); font-size: 12px; font-weight: 720; }
.closure-schedule-time-card > strong { margin: 14px 0 6px; font-size: clamp(31px, 5vw, 46px); line-height: .92; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.closure-schedule-time-card > small { color: var(--muted); font-size: 11px; }
.closure-schedule-time-card.is-current { color: white; border-color: transparent; background: linear-gradient(145deg, rgba(23, 102, 79, .99), rgba(11, 69, 53, .99)); }
.closure-schedule-time-card.is-current > span,
.closure-schedule-time-card.is-current > small { color: rgba(255, 255, 255, .72); }
.closure-schedule-time-card.is-pending { border-color: rgba(216, 128, 28, .24); background: rgba(248, 234, 215, .58); }
.closure-schedule-time-card.is-pending > strong { color: #8a5111; }
.closure-schedule-form {
  display: grid;
  grid-template-columns: minmax(210px, .9fr) minmax(230px, 1fr);
  align-items: end;
  gap: 14px 18px;
  margin-top: 10px;
  padding: 19px;
  border: 1px solid var(--line);
  border-radius: 21px;
  background: rgba(255, 255, 255, .54);
}
.closure-schedule-form-copy { align-self: center; }
.closure-schedule-form-copy p { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.48; }
.closure-schedule-time-field label { display: block; margin-bottom: 7px; color: var(--muted); font-size: 12px; font-weight: 720; }
.closure-schedule-time-field input[type="time"] {
  width: 100%;
  min-height: 70px;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 17px;
  outline: none;
  color: var(--ink);
  background: rgba(255, 255, 255, .88);
  font: inherit;
  font-size: clamp(30px, 5vw, 42px);
  font-weight: 740;
  letter-spacing: -.04em;
}
.closure-schedule-time-field input[type="time"]:focus { border-color: rgba(18, 90, 69, .48); box-shadow: 0 0 0 4px rgba(18, 90, 69, .08); }
.closure-schedule-time-field small { display: block; margin-top: 7px; color: var(--muted); font-size: 10px; }
.closure-schedule-confirm { min-height: 50px; padding: 12px 14px; border-radius: 15px; background: rgba(230, 241, 236, .68); }
.closure-schedule-save { min-height: 50px; padding: 12px 18px; border: 0; border-radius: 15px; }
.closure-schedule-history { margin-top: 10px; }
.closure-schedule-today { margin-top: 20px; }
.closure-mode-panel { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: center; gap: 22px; }
.closure-mode-panel[hidden] { display: none; }
.closure-mode-icon { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 24px; color: white; background: var(--green); font-size: 32px; }
.closure-mode-panel h2 { margin: 4px 0 7px; font-size: clamp(29px, 4vw, 42px); }
.closure-mode-panel p { margin: 0; color: var(--muted); line-height: 1.5; }
.closure-mode-panel > div:last-child > span { display: block; margin-top: 12px; color: var(--green); font-size: 12px; font-weight: 690; }

/* Stage 9D.3 — versioned manual/automatic day closure */
.closure-result-message { margin: 0 0 12px; }
.closure-pending-manual {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 12px;
  padding: 14px 17px;
  border: 1px solid rgba(216, 128, 28, .20);
  border-radius: 18px;
  color: #765526;
  background: rgba(248, 234, 215, .72);
  font-size: 13px;
}
.closure-pending-manual span { text-align: right; }
.closure-pending-manual a { color: var(--green); font-weight: 740; text-decoration: none; }
.closure-metric-mode.is-manual { border-color: rgba(18, 90, 69, .38); background: rgba(255, 255, 255, .82); }
.closure-mode-panel { display: block; }
.closure-mode-standalone { margin-top: 12px; text-align: left; }
.closure-mode-intro { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: center; gap: 22px; }
.closure-mode-intro h2 { margin: 4px 0 7px; font-size: clamp(29px, 4vw, 42px); }
.closure-mode-intro p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.5; }
.closure-mode-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 18px;
  margin: 24px 0 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 23px;
  background: rgba(255, 255, 255, .58);
}
.closure-mode-form fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 0; padding: 0; border: 0; }
.closure-mode-form legend { grid-column: 1 / -1; margin-bottom: 10px; color: var(--muted); font-size: 12px; font-weight: 740; }
.closure-mode-choice {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  min-height: 80px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: rgba(255, 255, 255, .74);
  cursor: pointer;
}
.closure-mode-choice input { width: 19px; height: 19px; margin: 2px 0 0; accent-color: var(--green); }
.closure-mode-choice strong,
.closure-mode-choice small { display: block; }
.closure-mode-choice strong { margin-bottom: 4px; font-size: 14px; }
.closure-mode-choice small { color: var(--muted); font-size: 11px; line-height: 1.4; }
.closure-mode-choice-unavailable {
  grid-template-columns: minmax(0, 1fr) auto;
  border-style: dashed;
  color: var(--muted);
  background: rgba(238, 240, 238, .62);
  cursor: not-allowed;
}
.closure-mode-choice-unavailable strong { color: var(--ink); }
.closure-mode-choice-unavailable em {
  align-self: start;
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--muted);
  background: rgba(255, 255, 255, .76);
  font-size: 9px;
  font-style: normal;
  font-weight: 760;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.closure-confirm-line { display: flex; align-items: center; gap: 9px; color: var(--ink); font-size: 13px; font-weight: 690; }
.closure-confirm-line input { width: 20px; height: 20px; margin: 0; accent-color: var(--green); }
.closure-mode-save { min-width: 190px; min-height: 50px; padding: 11px 18px; border: 1px solid var(--line); border-radius: 16px; font: inherit; font-weight: 750; cursor: pointer; }
.closure-manual-actions { margin-top: 18px; padding-top: 20px; border-top: 1px solid var(--line); }
.closure-manual-actions form { margin: 0; }
.closure-manual-actions form > button {
  min-height: 52px;
  padding: 12px 20px;
  border: 1px solid var(--green);
  border-radius: 17px;
  color: var(--green);
  background: rgba(255, 255, 255, .72);
  font: inherit;
  font-weight: 760;
  cursor: pointer;
}
.closure-precheck-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin-top: 12px;
  padding: 16px 18px;
  border-radius: 18px;
}
.closure-precheck-card.is-ready { color: var(--green); background: var(--green-soft); }
.closure-precheck-card.is-blocked { color: #8b5410; background: var(--orange-soft); }
.closure-precheck-card strong,
.closure-precheck-card span { display: block; }
.closure-precheck-card span { margin-top: 4px; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.closure-precheck-card b { font-size: 25px; }
.closure-manual-review {
  display: grid;
  gap: 12px;
  margin-top: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255, 255, 255, .54);
}
.closure-manual-review-heading { display: flex; justify-content: space-between; align-items: end; gap: 18px; }
.closure-manual-review-heading .eyebrow { margin-bottom: 6px; }
.closure-manual-review-heading h3 { margin: 0; font-size: 22px; letter-spacing: -.035em; }
.closure-manual-review-heading > span { max-width: 330px; color: var(--muted); font-size: 11px; line-height: 1.45; text-align: right; }
.closure-manual-missing-list { display: grid; gap: 7px; }
.closure-manual-missing-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(248, 234, 215, .48);
}
.closure-manual-missing-list strong,
.closure-manual-missing-list span { display: block; }
.closure-manual-missing-list span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.closure-manual-actions .closure-manual-missing-list form > button { min-height: 40px; padding: 8px 13px; border-radius: 13px; font-size: 12px; }
.closure-finalize-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px 18px;
  margin-top: 12px !important;
  padding: 18px;
  border: 1px solid rgba(18, 90, 69, .22);
  border-radius: 20px;
  background: rgba(230, 241, 236, .54);
}
.closure-finalize-form > button { color: white !important; background: var(--green) !important; }
.closure-finalize-form > small { grid-column: 1 / -1; color: var(--muted); line-height: 1.45; }
.closure-mode-history { margin-top: 18px; padding: 0 16px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .46); }
.closure-mode-history summary { padding: 15px 0; color: var(--green); font-size: 12px; font-weight: 740; cursor: pointer; }
.closure-mode-history ol { display: grid; gap: 7px; margin: 0; padding: 0 0 16px; list-style: none; }
.closure-mode-history li { display: flex; justify-content: space-between; gap: 12px; padding-top: 9px; border-top: 1px solid var(--line); font-size: 12px; }
.closure-mode-history li span { color: var(--muted); }

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

@media (max-width: 720px) {
  .closure-freshness { align-items: flex-start; flex-direction: column; gap: 4px; }
  .closure-freshness strong { text-align: left; }
  .closure-metric-card { min-height: 182px; padding: 19px; }
  .closure-tabs { grid-template-columns: 1fr; }
  .closure-list-tools { grid-template-columns: 1fr; }
  .closure-entity-summary-status { align-items: flex-start; text-align: left; }
  .closure-order-heading { flex-direction: column; gap: 9px; }
  .closure-order-heading > div:last-child { text-align: left; }
  .closure-pending-manual { align-items: flex-start; flex-direction: column; }
  .closure-pending-manual span { text-align: left; }
  .closure-mode-form { grid-template-columns: 1fr; }
  .closure-mode-form fieldset { grid-template-columns: 1fr; }
  .closure-mode-save { width: 100%; }
  .closure-schedule-form { grid-template-columns: 1fr; }
  .closure-schedule-save { width: 100%; }
  .closure-finalize-form { grid-template-columns: 1fr; }
  .closure-finalize-form > button { width: 100%; }
  .closure-manual-review-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .closure-manual-review-heading > span { text-align: left; }
  .closure-manual-missing-list article { grid-template-columns: 1fr; }
  .closure-manual-missing-list form > button { width: 100%; }
}

@media (max-width: 500px) {
  .closure-metric-grid { grid-template-columns: 1fr; }
  .closure-metric-card { min-height: 170px; }
  .closure-filter-group { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .closure-filter-group button { padding-left: 7px; padding-right: 7px; }
  .closure-mode-panel { grid-template-columns: 1fr; }
  .closure-mode-intro { grid-template-columns: 1fr; }
  .closure-schedule-intro,
  .closure-schedule-grid { grid-template-columns: 1fr; }
  .closure-mode-history li { align-items: flex-start; flex-direction: column; gap: 3px; }
}

.workspace-number-dark { color: var(--ink) !important; }
.closure-heading { align-items: center; margin-bottom: 22px; }
.closure-heading .lead { max-width: 730px; }
.closure-page-status { flex: 0 0 auto; padding: 10px 14px; font-size: 13px; }

.closure-date-toolbar {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto 46px;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 21px;
  background: rgba(255, 255, 255, .58);
  backdrop-filter: blur(20px);
}
.closure-date-step {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  color: var(--green);
  background: rgba(255, 255, 255, .76);
  text-decoration: none;
  font-size: 20px;
  font-weight: 760;
}
.closure-date-step.is-disabled { color: rgba(104, 115, 109, .36); cursor: default; }
.closure-date-form { display: flex; align-items: center; gap: 10px; min-width: 0; }
.closure-date-form label { color: var(--muted); font-size: 13px; font-weight: 720; }
.closure-date-form input {
  min-width: 0;
  min-height: 46px;
  padding: 0 13px;
  border: 0;
  border-radius: 13px;
  outline: none;
  color: var(--ink);
  background: rgba(255, 255, 255, .76);
}
.closure-date-form input:focus { box-shadow: 0 0 0 3px rgba(18, 90, 69, .10); }
.closure-date-form button {
  min-height: 46px;
  padding: 0 17px;
  border: 0;
  border-radius: 13px;
  color: white;
  background: var(--green);
  font-weight: 720;
}
.closure-today-link { padding: 10px; color: var(--green); text-decoration: none; font-size: 13px; font-weight: 720; }

.closure-empty-state { min-height: 410px; }
.closure-empty-wait { color: var(--green); background: var(--green-soft); }
.closure-empty-danger { color: var(--red); background: var(--red-soft); }

.closure-overview {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 12px;
}
.closure-overview article {
  min-width: 0;
  min-height: 166px;
  padding: 21px;
  border: 1px solid var(--line);
  border-radius: 25px;
  background: var(--paper);
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.closure-overview article > span { color: var(--muted); font-size: 12px; font-weight: 700; }
.closure-overview article > strong { margin-top: auto; font-size: clamp(34px, 4.6vw, 54px); line-height: 1; letter-spacing: -.055em; }
.closure-overview article > p { margin: 9px 0 0; color: var(--muted); font-size: 13px; line-height: 1.4; }
.closure-overview .closure-overview-primary { color: white; background: linear-gradient(145deg, rgba(23, 102, 79, .98), rgba(11, 69, 53, .98)); border-color: transparent; }
.closure-overview .closure-overview-primary > span,
.closure-overview .closure-overview-primary > p { color: rgba(255, 255, 255, .74); }
.closure-overview .closure-overview-primary > strong { font-size: clamp(25px, 3vw, 36px); letter-spacing: -.04em; }

.closure-system-alert,
.closure-issues {
  margin: 12px 0;
  padding: 22px;
  border: 1px solid rgba(216, 128, 28, .20);
  border-radius: 26px;
  background: rgba(248, 234, 215, .72);
}
.closure-system-alert strong { color: #765526; }
.closure-system-alert p { margin: 6px 0 0; color: var(--muted); line-height: 1.45; }
.closure-issues { background: rgba(255, 255, 255, .62); border-color: var(--line); box-shadow: var(--shadow); }
.closure-issues .section-heading { margin-bottom: 13px; }
.closure-issue-list { display: grid; gap: 8px; }
.closure-issue-row { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 14px; padding: 15px; border-radius: 18px; background: rgba(255, 255, 255, .70); }
.closure-issue-row strong { display: block; line-height: 1.4; }
.closure-issue-row p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }

.closure-summary-card { margin-top: 12px; }
.closure-section-heading { align-items: flex-end; }
.closure-total-chips { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.closure-total-chips span { padding: 8px 11px; border-radius: 12px; color: var(--green); background: var(--green-soft); font-size: 13px; font-weight: 760; }
.closure-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 20px; }
.closure-table { width: 100%; min-width: 640px; border-collapse: collapse; }
.closure-table th,
.closure-table td { padding: 15px 17px; text-align: right; border-bottom: 1px solid var(--line); }
.closure-table th { color: var(--muted); background: rgba(230, 241, 236, .48); font-size: 11px; font-weight: 740; }
.closure-table th:first-child,
.closure-table td:first-child { width: 52%; text-align: left; }
.closure-table tbody tr:last-child td { border-bottom: 0; }
.closure-table td { font-variant-numeric: tabular-nums; }
.closure-table td strong { font-size: 15px; }
.closure-table td small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }

.closure-column-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.closure-column-card { min-width: 0; }
.closure-entity-list { display: grid; gap: 8px; }
.closure-entity-card { border: 1px solid var(--line); border-radius: 19px; background: rgba(255, 255, 255, .62); overflow: hidden; }
.closure-entity-card > summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 82px;
  padding: 16px 46px 16px 17px;
  list-style: none;
  cursor: pointer;
}
.closure-entity-card > summary::-webkit-details-marker { display: none; }
.closure-entity-card > summary:focus-visible { outline: none; box-shadow: inset 0 0 0 3px rgba(18, 90, 69, .14); }
.closure-entity-card > summary::after { content: "+"; position: absolute; right: 17px; color: var(--green); font-size: 20px; font-weight: 650; }
.closure-entity-card[open] > summary::after { content: "−"; }
.closure-entity-card > summary strong,
.closure-entity-card > summary span { display: block; }
.closure-entity-card > summary > div > strong { margin-bottom: 5px; font-size: 17px; letter-spacing: -.02em; }
.closure-entity-card > summary > div > span { color: var(--muted); font-size: 12px; }
.closure-entity-body { padding: 0 17px 17px; border-top: 1px solid var(--line); }
.closure-source-line { margin: 14px 0 0; color: var(--green); font-size: 12px; font-weight: 720; }
.closure-comment { margin: 10px 0; padding: 12px 14px; border-radius: 14px; color: var(--muted); background: rgba(245, 242, 235, .82); font-size: 13px; line-height: 1.45; }
.closure-product-list { margin: 10px 0 0; padding: 0; list-style: none; }
.closure-product-list li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.closure-product-list li:last-child { border-bottom: 0; }
.closure-product-list li span { min-width: 0; }
.closure-product-list li strong { flex: 0 0 auto; font-variant-numeric: tabular-nums; }
.closure-quiet-note { margin: 14px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.closure-partner-order { padding-top: 14px; }
.closure-partner-order + .closure-partner-order { margin-top: 14px; border-top: 1px solid var(--line); }
.closure-partner-order-heading { display: flex; justify-content: space-between; gap: 18px; align-items: flex-end; }
.closure-partner-order-heading span,
.closure-partner-order-heading strong { display: block; }
.closure-partner-order-heading span { margin-bottom: 4px; color: var(--muted); font-size: 11px; }
.closure-partner-order-heading strong { font-size: 13px; }

.closure-audit-card { margin-top: 12px; padding: 0 21px; border: 1px solid var(--line); border-radius: 22px; color: var(--muted); background: rgba(255, 255, 255, .46); }
.closure-audit-card > summary { padding: 17px 0; cursor: pointer; font-size: 13px; font-weight: 720; }
.closure-audit-card > div { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 9px 18px; padding: 0 0 18px; border-top: 1px solid var(--line); }
.closure-audit-card > div > span:first-child { margin-top: 14px; }
.closure-audit-card > div > strong:first-of-type { margin-top: 14px; }
.closure-audit-card code { overflow-wrap: anywhere; color: var(--ink); font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 11px; }

@media (max-width: 980px) {
  .closure-overview { grid-template-columns: 1fr 1fr; }
  .closure-column-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .main-nav a { padding-left: 8px; padding-right: 8px; font-size: 12px; }
  .closure-heading { align-items: stretch; }
  .closure-page-status { align-self: flex-start; }
  .closure-date-toolbar { grid-template-columns: 42px minmax(0, 1fr) 42px; }
  .closure-date-step { width: 42px; height: 42px; }
  .closure-date-form { flex-wrap: wrap; }
  .closure-date-form label { width: 100%; }
  .closure-date-form input { flex: 1; }
  .closure-today-link { grid-column: 1 / -1; text-align: center; }
  .closure-overview article { min-height: 148px; padding: 18px; }
  .closure-issue-row { grid-template-columns: 1fr; }
  .closure-section-heading { align-items: flex-start; flex-direction: column; }
  .closure-total-chips { justify-content: flex-start; }
}

@media (max-width: 480px) {
  .main-nav a { padding-left: 5px; padding-right: 5px; font-size: 10px; }
  .closure-date-form button { width: 100%; }
  .closure-overview { grid-template-columns: 1fr; }
  .closure-overview article { min-height: 140px; }
  .closure-entity-card > summary { grid-template-columns: 1fr; padding-right: 42px; }
  .closure-entity-card > summary > .status { justify-self: start; }
  .closure-partner-order-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .closure-table-wrap { overflow: visible; border: 0; border-radius: 0; }
  .closure-table { display: block; min-width: 0; }
  .closure-table thead { display: none; }
  .closure-table tbody { display: grid; gap: 8px; }
  .closure-table tr { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: rgba(255, 255, 255, .64); }
  .closure-table td { display: block; padding: 12px; border: 0; text-align: left; font-size: 12px; }
  .closure-table td:first-child { grid-column: 1 / -1; width: auto; padding: 14px 12px; border-bottom: 1px solid var(--line); background: rgba(230, 241, 236, .42); }
  .closure-table td:not(:first-child)::before { content: attr(data-label); display: block; margin-bottom: 5px; color: var(--muted); font-size: 9px; font-weight: 690; }
}

/* Stage 7F.3 — production reconciliation */
.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  padding: 11px 19px;
  border: 1px solid transparent;
  border-radius: 16px;
  font: inherit;
  font-size: 14px;
  font-weight: 760;
  text-decoration: none;
  cursor: pointer;
}
.button-primary { color: white; background: var(--green); }
.button-primary:hover { background: var(--green-deep); }
.button-secondary { color: var(--green); background: rgba(255, 255, 255, .66); border-color: var(--line); }
.result-banner { margin: 0 0 12px; padding: 15px 18px; border: 1px solid rgba(18, 90, 69, .14); border-radius: 18px; color: var(--green-deep); background: rgba(230, 241, 236, .70); }
.closure-date-nav { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: 10px; margin-bottom: 12px; padding: 10px; border: 1px solid var(--line); border-radius: 23px; background: rgba(255, 255, 255, .58); box-shadow: var(--shadow); }
.closure-date-nav > a,
.closure-date-nav > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; color: var(--green); background: rgba(255, 255, 255, .76); text-decoration: none; font-size: 21px; font-weight: 760; }
.closure-date-nav > span { opacity: .28; }
.closure-date-nav > div { min-width: 0; text-align: center; }
.closure-date-nav > div span,
.closure-date-nav > div strong,
.closure-date-nav > div small { display: block; }
.closure-date-nav > div span { color: var(--muted); font-size: 11px; }
.closure-date-nav > div strong { margin: 2px 0; font-size: 20px; letter-spacing: -.025em; }
.closure-date-nav > div small { color: var(--green); font-size: 11px; font-weight: 700; }

.reconciliation-auto-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 30px; }
.reconciliation-auto-card h2,
.reconciliation-start-card h2,
.reconciliation-actions-card h2,
.reconciliation-confirmed-card h2 { margin: 0 0 8px; font-size: 28px; letter-spacing: -.04em; }
.reconciliation-auto-card p:not(.eyebrow),
.reconciliation-start-card p,
.reconciliation-actions-card p,
.reconciliation-confirmed-card p { max-width: 720px; margin: 0 0 16px; color: var(--muted); line-height: 1.5; }
.reconciliation-auto-form { display: grid; justify-items: stretch; gap: 10px; min-width: 280px; margin: 0; }
.toggle-field { display: flex; align-items: center; gap: 11px; min-height: 52px; padding: 12px 15px; border: 1px solid var(--line); border-radius: 16px; background: rgba(230, 241, 236, .52); font-weight: 720; cursor: pointer; }
.toggle-field input { width: 20px; height: 20px; margin: 0; accent-color: var(--green); }
.reconciliation-blocked .empty-icon { color: var(--red); background: var(--red-soft); }
.reconciliation-start-card { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 28px; align-items: end; }
.reconciliation-start-card form { grid-column: 1 / -1; margin: 0; }
.reconciliation-start-card .button { width: 100%; }

.reconciliation-overview { display: grid; grid-template-columns: 1.25fr repeat(3, 1fr); gap: 10px; margin: 12px 0; }
.reconciliation-overview article { min-width: 0; min-height: 155px; padding: 20px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); box-shadow: var(--shadow); display: flex; flex-direction: column; justify-content: space-between; }
.reconciliation-overview article > span { color: var(--muted); font-size: 11px; font-weight: 710; }
.reconciliation-overview article > strong { margin-top: auto; font-size: clamp(30px, 4vw, 46px); line-height: 1; letter-spacing: -.05em; }
.reconciliation-overview article > p { margin: 9px 0 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.reconciliation-overview .reconciliation-overview-primary { color: white; border-color: transparent; background: linear-gradient(145deg, rgba(23, 102, 79, .98), rgba(11, 69, 53, .98)); }
.reconciliation-overview .reconciliation-overview-primary > span,
.reconciliation-overview .reconciliation-overview-primary > p { color: rgba(255, 255, 255, .74); }
.reconciliation-overview .reconciliation-overview-primary > strong { font-size: clamp(27px, 3vw, 37px); }

.reconciliation-alert { border-color: rgba(181, 66, 55, .18); background: rgba(250, 235, 232, .68); }
.reconciliation-issue-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.reconciliation-issue-list li { padding: 14px 16px; border-radius: 16px; background: rgba(255, 255, 255, .68); }
.reconciliation-issue-list strong,
.reconciliation-issue-list small { display: block; }
.reconciliation-issue-list small { margin-top: 5px; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.reconciliation-product-list { display: grid; gap: 9px; }
.reconciliation-product { overflow: hidden; border: 1px solid var(--line); border-radius: 21px; background: rgba(255, 255, 255, .62); }
.reconciliation-product > summary { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; min-height: 92px; padding: 17px 52px 17px 19px; list-style: none; cursor: pointer; }
.reconciliation-product > summary::-webkit-details-marker { display: none; }
.reconciliation-product > summary::after { content: "+"; position: absolute; right: 20px; color: var(--green); font-size: 22px; }
.reconciliation-product[open] > summary::after { content: "−"; }
.reconciliation-product-name strong,
.reconciliation-product-name span { display: block; }
.reconciliation-product-name strong { margin-bottom: 5px; font-size: 18px; letter-spacing: -.025em; }
.reconciliation-product-name span { color: var(--muted); font-size: 12px; }
.reconciliation-product-total { display: grid; grid-template-columns: auto auto auto; align-items: baseline; gap: 9px; font-variant-numeric: tabular-nums; }
.reconciliation-product-total span { color: var(--muted); font-size: 13px; }
.reconciliation-product-total strong { font-size: 22px; }
.reconciliation-product-total em { padding: 5px 7px; border-radius: 9px; color: var(--muted); background: #ebeeec; font-size: 11px; font-style: normal; font-weight: 760; }
.reconciliation-product-total em.positive { color: var(--green); background: var(--green-soft); }
.reconciliation-product-total em.negative { color: var(--red); background: var(--red-soft); }
.reconciliation-product-body { padding: 0 19px 19px; border-top: 1px solid var(--line); }
.reconciliation-metrics { grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 15px 0; }
.reconciliation-metrics div { padding: 10px 12px; border: 0; border-radius: 13px; background: rgba(230, 241, 236, .45); }
.reconciliation-metrics dt { font-size: 10px; }
.reconciliation-metrics dd { font-size: 13px; font-variant-numeric: tabular-nums; }
.reconciliation-unallocated { margin-bottom: 14px; padding: 14px 16px; border-radius: 16px; color: #765526; background: var(--orange-soft); }
.reconciliation-unallocated p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.reconciliation-store-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; }
.reconciliation-store-table { width: 100%; min-width: 620px; border-collapse: collapse; }
.reconciliation-store-table th,
.reconciliation-store-table td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: right; font-size: 12px; font-variant-numeric: tabular-nums; }
.reconciliation-store-table th { color: var(--muted); background: rgba(230, 241, 236, .40); font-size: 10px; }
.reconciliation-store-table th:first-child,
.reconciliation-store-table td:first-child { width: 48%; text-align: left; }
.reconciliation-store-table tbody tr:last-child td { border-bottom: 0; }
.reconciliation-store-table td small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.reconciliation-store-table td.changed { color: var(--green); font-weight: 760; }

.reconciliation-actions-card,
.reconciliation-confirmed-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 20px; }
.reconciliation-actions-card form { margin: 0; }
.reconciliation-confirm-form { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.reconciliation-confirmed-card .form-stack { width: min(100%, 520px); margin: 0; }
.form-stack { display: grid; gap: 9px; }
.form-stack label { font-size: 12px; font-weight: 720; }
.form-stack textarea { width: 100%; min-height: 90px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 15px; color: var(--ink); background: rgba(255, 255, 255, .76); resize: vertical; }
.reconciliation-history { grid-template-columns: 1fr !important; }
.reconciliation-history article { padding: 13px 0; border-bottom: 1px solid var(--line); }
.reconciliation-history article:last-child { border-bottom: 0; }
.reconciliation-history strong,
.reconciliation-history span,
.reconciliation-history code { display: block; }
.reconciliation-history span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.reconciliation-history p { margin: 7px 0; color: var(--muted); font-size: 12px; }
.reconciliation-history code { margin-top: 6px; overflow-wrap: anywhere; font-size: 10px; }

@media (max-width: 980px) {
  .reconciliation-overview { grid-template-columns: 1fr 1fr; }
  .reconciliation-auto-card,
  .reconciliation-start-card,
  .reconciliation-actions-card,
  .reconciliation-confirmed-card { grid-template-columns: 1fr; }
  .reconciliation-auto-form { min-width: 0; }
  .reconciliation-start-card form,
  .reconciliation-confirm-form { grid-column: auto; }
  .reconciliation-confirm-form { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .reconciliation-overview { grid-template-columns: 1fr; }
  .reconciliation-overview article { min-height: 135px; }
  .reconciliation-product > summary { grid-template-columns: 1fr; gap: 11px; padding-right: 45px; }
  .reconciliation-product-total { justify-content: start; }
  .reconciliation-metrics { grid-template-columns: 1fr 1fr; }
  .reconciliation-store-table-wrap { overflow: visible; border: 0; }
  .reconciliation-store-table { display: block; min-width: 0; }
  .reconciliation-store-table thead { display: none; }
  .reconciliation-store-table tbody { display: grid; gap: 8px; }
  .reconciliation-store-table tr { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 15px; }
  .reconciliation-store-table td { display: block; padding: 10px; border: 0; text-align: left; }
  .reconciliation-store-table td:first-child { grid-column: 1 / -1; width: auto; border-bottom: 1px solid var(--line); background: rgba(230, 241, 236, .38); }
  .reconciliation-store-table td:not(:first-child)::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--muted); font-size: 9px; }
}

/* Stage 8B.4 — guarded manual internal-transfer drafts */
.document-preview-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 26px;
  margin: 34px 0 14px;
}
.document-preview-heading h2 { margin: 0; font-size: 38px; letter-spacing: -.045em; }
.document-preview-heading p:not(.eyebrow) { max-width: 760px; margin: 9px 0 0; color: var(--muted); line-height: 1.5; }
.document-section-switcher {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.document-section-switcher a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 12px;
  min-height: 104px;
  padding: 17px 18px;
  border: 1px solid var(--line);
  border-radius: 22px;
  color: var(--ink);
  text-decoration: none;
  background: rgba(255, 255, 255, .68);
  box-shadow: 0 14px 34px rgba(51, 41, 25, .04);
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.document-section-switcher a:hover { transform: translateY(-2px); border-color: rgba(18, 90, 69, .28); background: rgba(230, 241, 236, .58); }
.document-section-switcher span { grid-row: 1 / 3; color: var(--orange); font-size: 12px; font-weight: 800; }
.document-section-switcher strong { font-size: 18px; letter-spacing: -.025em; }
.document-section-switcher small { color: var(--muted); font-size: 10px; }
.document-preview-date-toolbar { margin-bottom: 13px; }
.document-preview-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 13px;
}
.document-preview-overview article {
  min-height: 132px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 23px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 16px 38px rgba(51, 41, 25, .045);
}
.document-preview-overview span,
.document-preview-overview small { display: block; color: var(--muted); }
.document-preview-overview span { font-size: 11px; font-weight: 730; }
.document-preview-overview strong { display: block; margin: 18px 0 7px; font-size: 24px; letter-spacing: -.035em; }
.document-preview-overview small { font-size: 10px; line-height: 1.35; }
.document-preview-overview .document-preview-date-card { color: #fff; border-color: transparent; background: linear-gradient(145deg, #176b53, #0f5744); }
.document-preview-overview .document-preview-date-card span,
.document-preview-overview .document-preview-date-card small { color: rgba(255, 255, 255, .72); }

.document-preview-issues,
.document-preview-store-issues {
  border: 1px solid rgba(163, 69, 58, .18);
  color: #81382f;
  background: rgba(247, 230, 227, .72);
}
.document-preview-issues { margin-bottom: 13px; padding: 18px 20px; border-radius: 22px; }
.document-preview-issues ul,
.document-preview-store-issues { margin: 9px 0 0; padding-left: 22px; }
.document-preview-issues li,
.document-preview-store-issues li { margin: 5px 0; line-height: 1.42; }

.document-preview-list { display: grid; gap: 10px; }
.document-preview-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 25px;
  background: rgba(255, 255, 255, .74);
  box-shadow: var(--shadow);
}
.document-preview-card > summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  min-height: 92px;
  padding: 18px 55px 18px 21px;
  list-style: none;
  cursor: pointer;
}
.document-preview-card > summary::-webkit-details-marker { display: none; }
.document-preview-card > summary::after { content: "+"; position: absolute; right: 22px; color: var(--green); font-size: 23px; }
.document-preview-card[open] > summary::after { content: "−"; }
.document-preview-card > summary strong,
.document-preview-card > summary span { display: block; }
.document-preview-card > summary > div > strong { margin-bottom: 5px; font-size: 19px; letter-spacing: -.025em; }
.document-preview-card > summary > div > span { color: var(--muted); font-size: 11px; }
.document-preview-card-empty { background: rgba(242, 244, 242, .66); }
.document-preview-body { padding: 0 20px 20px; border-top: 1px solid var(--line); }
.document-preview-route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 18px 0;
}
.document-preview-route span,
.document-preview-route strong { display: block; }
.document-preview-route span { margin-bottom: 5px; color: var(--muted); font-size: 10px; }
.document-preview-route strong { overflow-wrap: anywhere; font-size: 14px; }
.document-preview-route b { color: var(--orange); font-size: 20px; }
.document-preview-store-issues { margin: 0 0 13px; padding: 14px 18px 14px 37px; border-radius: 17px; font-size: 12px; }

.document-preview-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; }
.document-preview-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.document-preview-table th,
.document-preview-table td { padding: 13px 14px; border-bottom: 1px solid var(--line); text-align: right; font-size: 11px; font-variant-numeric: tabular-nums; }
.document-preview-table th { color: var(--muted); background: rgba(230, 241, 236, .43); font-size: 9px; font-weight: 740; }
.document-preview-table th:first-child,
.document-preview-table td:first-child { width: 34%; text-align: left; }
.document-preview-table tbody tr:last-child td { border-bottom: 0; }
.document-preview-table td small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.document-preview-table td.is-changed { color: var(--green); font-weight: 760; }
.document-preview-table tr.is-excluded { opacity: .62; background: rgba(235, 238, 236, .48); }
.document-link-ready { color: var(--green); font-weight: 700; }
.document-link-missing { color: var(--red); font-weight: 700; }
.document-link-muted { color: var(--muted); }
.document-preview-empty { margin-bottom: 13px; }
.document-mapping-heading { margin-top: 38px; }
.document-transfer-action,
.document-transfer-state,
.document-transfer-disabled {
  margin-top: 14px;
  padding: 17px 18px;
  border: 1px solid rgba(18, 90, 69, .15);
  border-radius: 19px;
  background: rgba(230, 241, 236, .46);
}
.document-transfer-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.document-transfer-action strong,
.document-transfer-action p,
.document-transfer-state span,
.document-transfer-state strong,
.document-transfer-state small,
.document-transfer-disabled strong,
.document-transfer-disabled span { display: block; }
.document-transfer-action p { max-width: 640px; margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.document-transfer-action .primary-button { flex: 0 0 auto; }
.document-transfer-state { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px 20px; }
.document-transfer-state > div > span { color: var(--muted); font-size: 10px; }
.document-transfer-state > div > strong { margin: 4px 0; font-size: 17px; }
.document-transfer-state > div > small { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.document-transfer-state > p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.document-transfer-state > .primary-button { justify-self: end; }
.document-transfer-disabled { color: var(--muted); background: rgba(242, 244, 242, .66); }
.document-transfer-disabled strong { color: var(--ink); }
.document-transfer-disabled span { margin-top: 5px; font-size: 11px; }

.production-preview-heading { scroll-margin-top: 18px; }
.production-preview-shell {
  overflow: hidden;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 27px;
  background: rgba(255, 255, 255, .72);
  box-shadow: var(--shadow);
}
.production-preview-shell.is-ready { border-color: rgba(18, 90, 69, .22); }
.production-preview-shell.is-blocked { border-color: rgba(163, 69, 58, .17); }
.production-preview-route { padding-top: 0; }
.production-preview-issues { margin-top: 0; }
.production-preview-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 13px; }
.production-preview-summary > div { min-width: 120px; padding: 12px 14px; border-radius: 15px; background: rgba(230, 241, 236, .56); }
.production-preview-summary span,
.production-preview-summary strong { display: block; }
.production-preview-summary span { color: var(--muted); font-size: 9px; font-weight: 700; }
.production-preview-summary strong { margin-top: 4px; color: var(--green); font-size: 18px; }
.production-preview-table { min-width: 760px; }
.production-preview-table th:first-child,
.production-preview-table td:first-child { width: 25%; }
.production-preview-table th:nth-child(2),
.production-preview-table td:nth-child(2) { width: 39%; }
.production-source-line {
  display: block;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}
.production-source-line + .production-source-line {
  margin-top: 7px;
  padding-top: 7px;
  border-top: 1px solid rgba(10, 67, 52, .10);
}
.production-source-line strong { color: var(--ink); }
.production-write-lock { display: flex; align-items: flex-start; gap: 13px; margin-top: 13px; padding: 15px 17px; border-radius: 17px; background: rgba(242, 244, 242, .76); }
.production-write-lock > span { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border: 2px solid var(--muted); border-radius: 50%; color: var(--muted); }
.production-write-lock strong { display: block; }
.production-write-lock p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.document-preview-action { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 13px; padding: 15px 17px; border-radius: 18px; background: rgba(230, 241, 236, .65); }
.document-preview-action .primary-button { flex: 0 0 auto; }
.document-preview-action p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.production-binding-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.production-binding-card { display: flex; min-height: 218px; flex-direction: column; justify-content: space-between; gap: 20px; padding: 20px; border: 1px solid var(--line); border-radius: 23px; background: rgba(255, 255, 255, .68); box-shadow: 0 14px 34px rgba(51, 41, 25, .04); }
.production-binding-card > div:first-child > span { color: var(--muted); font-size: 10px; line-height: 1.4; }
.production-binding-card h3 { margin: 10px 0 7px; font-size: 20px; letter-spacing: -.03em; }
.production-binding-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.production-binding-card .document-binding-action { align-items: stretch; flex-direction: column; }
.production-binding-card .status { align-self: flex-start; }

.transfer-confirm-heading { align-items: flex-start; }
.transfer-confirm-warning { margin: 0 0 13px; padding: 18px 20px; border: 1px solid rgba(216, 128, 28, .18); border-radius: 21px; color: #765526; background: rgba(247, 233, 211, .68); }
.transfer-confirm-warning p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.transfer-confirm-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 13px; }
.transfer-confirm-overview article { min-height: 130px; padding: 19px; border: 1px solid var(--line); border-radius: 23px; background: rgba(255, 255, 255, .74); box-shadow: 0 16px 38px rgba(51, 41, 25, .045); }
.transfer-confirm-overview span,
.transfer-confirm-overview small { display: block; color: var(--muted); }
.transfer-confirm-overview span { font-size: 10px; font-weight: 730; }
.transfer-confirm-overview strong { display: block; margin: 17px 0 7px; overflow-wrap: anywhere; font-size: 22px; letter-spacing: -.035em; }
.transfer-confirm-overview small { font-size: 10px; line-height: 1.35; }
.transfer-confirm-overview .transfer-confirm-date-card { color: #fff; border-color: transparent; background: linear-gradient(145deg, #176b53, #0f5744); }
.transfer-confirm-overview .transfer-confirm-date-card span,
.transfer-confirm-overview .transfer-confirm-date-card small { color: rgba(255, 255, 255, .72); }
.transfer-confirm-route { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 22px; margin-bottom: 13px; padding: 21px; border: 1px solid var(--line); border-radius: 23px; background: rgba(255, 255, 255, .7); }
.transfer-confirm-route span,
.transfer-confirm-route strong { display: block; }
.transfer-confirm-route span { margin-bottom: 6px; color: var(--muted); font-size: 10px; }
.transfer-confirm-route strong { overflow-wrap: anywhere; font-size: 16px; }
.transfer-confirm-route b { color: var(--orange); font-size: 24px; }
.transfer-confirm-products { padding: 20px; border: 1px solid var(--line); border-radius: 25px; background: rgba(255, 255, 255, .74); box-shadow: var(--shadow); }
.transfer-confirm-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.transfer-confirm-section-heading h2 { margin: 0; font-size: 27px; letter-spacing: -.04em; }
.transfer-confirm-section-heading > span { color: var(--muted); font-size: 11px; }
.transfer-technical-details { margin-top: 13px; padding: 17px 20px; border: 1px solid var(--line); border-radius: 21px; background: rgba(255, 255, 255, .55); }
.transfer-technical-details summary { cursor: pointer; color: var(--green); font-weight: 730; }
.transfer-technical-details dl { display: grid; gap: 10px; margin: 16px 0 0; }
.transfer-technical-details dl > div { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 18px; padding-top: 10px; border-top: 1px solid var(--line); }
.transfer-technical-details dt { color: var(--muted); font-size: 10px; }
.transfer-technical-details dd { margin: 0; overflow-wrap: anywhere; font-size: 11px; font-weight: 700; }
.transfer-confirm-form { margin-top: 13px; padding: 21px; border: 1px solid var(--line); border-radius: 25px; background: rgba(255, 255, 255, .76); box-shadow: var(--shadow); }
.confirm-check { display: flex; align-items: flex-start; gap: 13px; padding: 16px; border-radius: 17px; cursor: pointer; background: rgba(230, 241, 236, .56); }
.confirm-check input { width: 22px; height: 22px; margin-top: 1px; accent-color: var(--green); }
.confirm-check span,
.confirm-check strong,
.confirm-check small { display: block; }
.confirm-check small { margin-top: 5px; color: var(--muted); line-height: 1.4; }
.transfer-confirm-form .form-actions { margin-top: 15px; }

@media (max-width: 900px) {
  .document-preview-overview { grid-template-columns: 1fr 1fr; }
  .transfer-confirm-overview { grid-template-columns: 1fr 1fr; }
  .document-preview-action { align-items: stretch; flex-direction: column; }
  .production-binding-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .document-preview-heading { align-items: flex-start; flex-direction: column; }
  .document-preview-heading h2 { font-size: 31px; }
  .document-preview-overview { grid-template-columns: 1fr 1fr; }
  .document-preview-overview article { min-height: 118px; padding: 17px; }
  .document-preview-card > summary { grid-template-columns: 1fr; gap: 10px; padding-right: 48px; }
  .document-preview-card > summary > .status { justify-self: start; }
  .document-preview-route { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .document-preview-route > div:last-child { grid-column: 1 / -1; padding-top: 11px; border-top: 1px solid var(--line); }
  .document-preview-table-wrap { overflow: visible; border: 0; }
  .document-preview-table { display: block; min-width: 0; }
  .document-preview-table thead { display: none; }
  .document-preview-table tbody { display: grid; gap: 8px; }
  .document-preview-table tr { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; }
  .document-preview-table td { display: block; padding: 10px; border: 0; text-align: left; }
  .document-preview-table td:first-child { grid-column: 1 / -1; width: auto; border-bottom: 1px solid var(--line); background: rgba(230, 241, 236, .38); }
  .document-preview-table td:not(:first-child)::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--muted); font-size: 8px; font-weight: 680; }
  .document-transfer-action { align-items: stretch; flex-direction: column; }
  .document-transfer-action .primary-button { width: 100%; }
  .document-transfer-state { grid-template-columns: 1fr; }
  .document-transfer-state > .status,
  .document-transfer-state > .primary-button { justify-self: start; }
  .transfer-confirm-overview { grid-template-columns: 1fr 1fr; }
  .transfer-confirm-route { grid-template-columns: 1fr; gap: 11px; }
  .transfer-confirm-route b { transform: rotate(90deg); }
  .transfer-confirm-section-heading { align-items: flex-start; flex-direction: column; }
  .transfer-technical-details dl > div { grid-template-columns: 1fr; gap: 5px; }
  .document-section-switcher,
  .production-binding-grid,
  .production-toggle-grid { grid-template-columns: 1fr; }
}

@media (max-width: 460px) {
  .document-preview-overview { grid-template-columns: 1fr; }
  .transfer-confirm-overview { grid-template-columns: 1fr; }
}

/* Stage 10C: compact manual reconciliation matrix. */
.reconciliation-mode-note { display: flex; align-items: center; gap: 12px; margin: 12px 0; padding: 14px 17px; border: 1px solid rgba(23, 102, 79, .13); border-radius: 19px; background: rgba(230, 241, 236, .58); }
.reconciliation-mode-note > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; color: white; background: var(--green); }
.reconciliation-mode-note strong,
.reconciliation-mode-note small { display: block; }
.reconciliation-mode-note small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.reconciliation-state-line { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 12px 0; padding: 0 4px; }
.reconciliation-state-line > div { display: flex; align-items: center; gap: 10px; }
.reconciliation-state-line > p { margin: 0; color: var(--muted); font-size: 11px; }
.reconciliation-manual-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.reconciliation-unit-values { display: grid; gap: 6px; margin-top: auto; }
.reconciliation-unit-values strong { display: block; font-size: clamp(21px, 2.3vw, 31px); line-height: 1.05; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.reconciliation-unit-values small { color: var(--muted); font-size: 12px; letter-spacing: 0; }
.reconciliation-overview-primary .reconciliation-unit-values small { color: rgba(255, 255, 255, .72); }
.reconciliation-skipped { display: flex; align-items: flex-start; gap: 18px; margin: 12px 0; padding: 15px 18px; border: 1px solid rgba(216, 128, 28, .16); border-radius: 19px; background: rgba(247, 233, 211, .56); }
.reconciliation-skipped > strong { flex: 0 0 auto; color: #765526; font-size: 12px; }
.reconciliation-skipped > div { display: flex; flex-wrap: wrap; gap: 7px; }
.reconciliation-skipped span { padding: 7px 10px; border-radius: 11px; background: rgba(255, 255, 255, .68); font-size: 11px; font-weight: 720; }
.reconciliation-skipped small { display: block; max-width: 260px; margin-top: 3px; color: var(--muted); font-weight: 500; }
.reconciliation-matrix-card { padding: 18px; }
.reconciliation-matrix-heading { margin-bottom: 7px; }
.reconciliation-matrix-note { margin: 0 0 14px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.reconciliation-matrix-tools { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.reconciliation-matrix-tools > label:first-child { width: min(100%, 420px); }
.reconciliation-matrix-tools label > span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 10px; font-weight: 720; }
.reconciliation-matrix-tools input[type="search"] { width: 100%; min-height: 42px; padding: 0 13px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255, 255, 255, .78); }
.reconciliation-matrix-tools .inline-check > span { margin: 0; color: var(--ink); font-size: 11px; }
.reconciliation-matrix-wrap { max-height: min(68vh, 760px); overflow: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: 19px; background: rgba(255, 255, 255, .72); }
.reconciliation-matrix { width: max-content; min-width: 0; border-spacing: 0; border-collapse: separate; font-variant-numeric: tabular-nums; }
.reconciliation-matrix th,
.reconciliation-matrix td { box-sizing: border-box; height: 70px; padding: 8px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; vertical-align: middle; background: rgba(255, 255, 255, .86); }
.reconciliation-matrix tr:last-child > * { border-bottom: 0; }
.reconciliation-matrix tr > *:last-child { border-right: 0; }
.reconciliation-matrix thead th { position: sticky; top: 0; z-index: 5; height: 58px; color: var(--muted); background: rgba(240, 245, 242, .97); font-size: 9px; }
.reconciliation-matrix thead th strong { display: block; max-width: 118px; overflow: hidden; color: var(--ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.reconciliation-matrix thead details { position: relative; margin-top: 3px; color: var(--green); }
.reconciliation-matrix thead summary { cursor: pointer; font-size: 9px; }
.reconciliation-matrix thead details p { position: absolute; top: 100%; left: 50%; z-index: 12; width: 190px; margin: 7px 0 0; padding: 9px; transform: translateX(-50%); border-radius: 10px; color: var(--ink); background: white; box-shadow: var(--shadow); font-size: 10px; line-height: 1.4; text-align: left; white-space: normal; }
.matrix-product-column { position: sticky; left: 0; z-index: 3; width: 200px; min-width: 200px; max-width: 200px; text-align: left !important; }
.reconciliation-matrix tbody .matrix-product-column { background: rgba(252, 251, 247, .98); }
.reconciliation-matrix thead .matrix-product-column { z-index: 8; }
.matrix-product-column strong,
.matrix-product-column small { display: block; }
.matrix-product-column strong { overflow-wrap: anywhere; color: var(--ink); font-size: 12px; line-height: 1.22; }
.matrix-product-column small { margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.matrix-original-column { position: sticky; left: 200px; z-index: 3; width: 90px; min-width: 90px; color: var(--muted); background: rgba(252, 251, 247, .98) !important; box-shadow: 7px 0 14px rgba(35, 49, 43, .045); font-size: 10px; }
.reconciliation-matrix thead .matrix-original-column { z-index: 8; background: rgba(240, 245, 242, .99) !important; }
.matrix-original-column strong { color: var(--ink); font-size: 14px; }
.matrix-store-column { width: 128px; min-width: 128px; max-width: 128px; }
.reconciliation-matrix tbody .matrix-store-column.is-changed { background: rgba(230, 241, 236, .88); }
.matrix-final-column { position: sticky; right: 75px; z-index: 3; width: 100px; min-width: 100px; color: var(--muted); background: rgba(246, 249, 247, .98) !important; font-size: 10px; box-shadow: -8px 0 16px rgba(35, 49, 43, .035); }
.matrix-final-column strong { color: var(--ink); font-size: 15px; }
.reconciliation-matrix thead .matrix-final-column,
.reconciliation-matrix thead .matrix-difference-column { z-index: 8; }
.matrix-difference-column { position: sticky; right: 0; z-index: 3; width: 75px; min-width: 75px; color: var(--muted); background: rgba(246, 249, 247, .98) !important; font-size: 11px; font-weight: 780; }
.matrix-difference-column.positive { color: var(--green); }
.matrix-difference-column.negative { color: var(--red); }
.matrix-stepper { display: grid; grid-template-columns: 26px minmax(32px, 1fr) 26px; align-items: center; gap: 2px; }
.matrix-stepper form { margin: 0; }
.matrix-stepper button { display: grid; width: 26px; height: 26px; padding: 0; place-items: center; border: 1px solid rgba(23, 102, 79, .18); border-radius: 9px; color: var(--green); background: rgba(255, 255, 255, .82); font-size: 17px; font-weight: 650; cursor: pointer; }
.matrix-stepper button:hover:not(:disabled) { color: white; background: var(--green); }
.matrix-stepper button:disabled { cursor: default; opacity: .3; }
.matrix-stepper strong { color: var(--ink); font-size: 15px; }
.matrix-stepper .matrix-value-button { width: auto; min-width: 32px; border: 0; color: var(--ink); background: transparent; }
.matrix-stepper .matrix-value-button:hover { color: var(--green); background: rgba(230, 241, 236, .62); }
.matrix-stepper .matrix-value-button strong { pointer-events: none; }
.matrix-store-column > small { display: block; margin-top: 4px; color: var(--green); font-size: 9px; }
.matrix-store-column > .matrix-special-order { display: inline-flex; align-items: center; gap: 3px; width: max-content; margin: 3px auto 0; padding: 2px 5px; border-radius: 999px; color: #0d6b4f; background: rgba(198, 233, 217, .72); font-weight: 760; }
.matrix-special-order svg { width: 10px; height: 10px; fill: rgba(23, 102, 79, .12); stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.closure-product-list .matrix-special-order-inline { display: inline-flex; align-items: center; gap: 3px; margin-top: 4px; padding: 2px 6px; border-radius: 999px; color: #0d6b4f; background: rgba(198, 233, 217, .68); font-size: 9px; font-weight: 760; }
.closure-product-list .matrix-special-order-inline::before { width: 9px; height: 11px; content: ""; background: currentColor; clip-path: polygon(50% 0, 96% 18%, 88% 68%, 50% 100%, 12% 68%, 4% 18%); }
.matrix-store-column.is-saving { box-shadow: inset 0 0 0 2px rgba(216, 128, 28, .28); }
.matrix-store-column.is-unsaved { background: rgba(250, 230, 227, .88) !important; box-shadow: inset 0 0 0 2px rgba(174, 68, 56, .34); }
.matrix-store-column > .matrix-save-state { color: var(--muted); }
.matrix-store-column.is-unsaved > .matrix-save-state { color: var(--red); font-weight: 720; }
.matrix-store-column > [data-cell-change][hidden] { display: none !important; }
.matrix-save-state:empty { display: none; }
.matrix-direct-edit { margin-top: 4px; }
.matrix-direct-edit summary { cursor: pointer; color: var(--muted); font-size: 9px; }
.matrix-direct-edit form { display: grid; gap: 4px; margin-top: 5px; }
.matrix-direct-edit input { width: 100%; min-width: 0; min-height: 28px; padding: 3px 6px; border: 1px solid var(--line); border-radius: 8px; font-size: 10px; }
.matrix-direct-edit button { width: 100%; min-height: 27px; padding: 3px 5px; border: 0; border-radius: 8px; color: var(--green); background: var(--green-soft); font-size: 9px; font-weight: 730; cursor: pointer; }
.reconciliation-manual-actions { grid-template-columns: 1fr; }
.reconciliation-manual-actions .reconciliation-reset-form,
.reconciliation-manual-actions .reconciliation-confirm-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 0; }
.reconciliation-manual-actions [hidden],
.matrix-direct-edit [hidden] { display: none !important; }
.reconciliation-manual-actions.has-unsaved-changes .reconciliation-confirm-form { opacity: .58; }
.legacy-reconciliation-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255, 255, 255, .62); }
.legacy-reconciliation-row span { white-space: nowrap; font-variant-numeric: tabular-nums; }

@media (max-width: 800px) {
  .reconciliation-manual-overview { grid-template-columns: 1fr; }
  .reconciliation-state-line,
  .reconciliation-matrix-tools { align-items: stretch; flex-direction: column; }
  .reconciliation-state-line > div { justify-content: space-between; }
  .reconciliation-matrix-card { padding: 15px; }
  .matrix-product-column { width: 160px; min-width: 160px; max-width: 160px; }
  .matrix-original-column { left: 160px; width: 82px; min-width: 82px; }
  .reconciliation-manual-actions .reconciliation-reset-form,
  .reconciliation-manual-actions .reconciliation-confirm-form { grid-template-columns: 1fr; }
}

/* Stage 11 client workspace */
.page-heading-compact { margin-bottom: 18px; }
.client-metrics { margin-bottom: 16px; }
.client-filter-panel {
  display: grid;
  grid-template-columns: minmax(240px, 1.8fr) repeat(4, minmax(130px, .8fr)) auto auto;
  gap: 10px;
  align-items: end;
  padding: 16px;
  margin-bottom: 18px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255, 255, 255, .68);
  box-shadow: 0 16px 46px rgba(42, 50, 45, .045);
  backdrop-filter: blur(20px);
}
.client-filter-panel label,
.client-filter-search { display: grid; gap: 6px; min-width: 0; }
.client-filter-panel label > span,
.client-filter-search > label { color: var(--muted); font-size: 11px; font-weight: 720; }
.client-filter-panel input,
.client-filter-panel select {
  width: 100%;
  min-height: 46px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--ink);
  background: rgba(255, 255, 255, .86);
  font: inherit;
}
.client-filter-panel .primary-button { min-height: 46px; }
.client-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr));
  gap: 12px;
}
.client-card {
  position: relative;
  display: block;
  min-height: 270px;
  min-width: 0;
  overflow: clip;
  border: 1px solid rgba(23, 34, 29, .10);
  border-radius: 24px;
  color: inherit;
  background: linear-gradient(135deg, #b8cabf, #e8cda8);
  box-shadow: 0 13px 34px rgba(31, 54, 45, .08);
  isolation: isolate;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.client-card:hover {
  transform: translateY(-3px);
  border-color: rgba(18, 90, 69, .22);
  box-shadow: 0 18px 42px rgba(31, 54, 45, .11);
}
.client-card-background {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  transition: transform .35s ease;
}
.client-card:hover .client-card-background { transform: scale(1.025); }
.client-card-surface {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 9px;
  min-height: 270px;
  padding: 16px;
  background: linear-gradient(90deg, rgba(249,248,243,.94) 0%, rgba(247,246,240,.78) 58%, rgba(247,246,240,.28) 100%);
  backdrop-filter: blur(.5px);
}
.client-card:not(.client-card-has-background) .client-card-surface { background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(247,247,241,.82)); }
.client-card-topline,
.client-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.client-card-topmeta { display: grid; justify-items: end; gap: 7px; min-width: 0; }
.client-card-weekdays { display: flex; justify-content: flex-end; gap: 4px; min-width: 0; }
.client-weekday-badge {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 1px solid rgba(18, 90, 69, .13);
  border-radius: 8px;
  color: var(--green);
  background: rgba(233, 243, 238, .82);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}
.client-card-title p,
.client-card-title h2,
.client-card-title span { margin: 0; }
.client-card-title p { color: var(--green); font-size: 12px; font-weight: 750; }
.client-card-title h2 { margin: 3px 0; font-size: clamp(1.24rem, 1.7vw, 1.58rem); line-height: 1.08; }
.client-card-title h2 a { color: inherit; text-decoration: none; }
.client-card-title h2 a:hover { color: var(--green); }
.client-card-title span { color: var(--muted); font-size: 12px; }
.client-card-footer { align-self: end; color: var(--muted); font-size: 10px; }
.client-card-footer b { color: var(--ink); }
.client-card-open { margin-left: auto; color: var(--green); font-weight: 750; text-decoration: none; white-space: nowrap; }
.client-card-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-self: end;
  gap: 6px;
}
.client-card-insights > article,
.client-comment-editor {
  min-width: 0;
  min-height: 72px;
  padding: 9px;
  border: 1px solid rgba(23, 34, 29, .06);
  border-radius: 12px;
  background: rgba(255, 255, 255, .70);
  backdrop-filter: blur(12px);
}
.client-card-insights span,
.client-card-insights small { display: block; color: var(--muted); font-size: 10px; line-height: 1.3; }
.client-card-insights strong { display: -webkit-box; margin: 4px 0 2px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 12px; line-height: 1.2; text-overflow: ellipsis; }
.client-comment-editor { position: relative; }
.client-comment-editor > summary { cursor: pointer; list-style: none; }
.client-comment-editor > summary::-webkit-details-marker { display: none; }
.client-comment-editor > summary::after { content: "Изменить"; display: block; margin-top: 5px; color: var(--green); font-size: 10px; font-weight: 750; }
.client-comment-editor[open] { grid-column: 1 / -1; }
.client-comment-editor[open] > summary::after { content: "Закрыть"; }
.client-comment-editor form { display: grid; gap: 8px; margin-top: 10px; }
.client-comment-editor textarea {
  width: 100%;
  min-height: 82px;
  padding: 10px 12px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 13px;
  color: var(--ink);
  background: rgba(255,255,255,.88);
  font: inherit;
}
.client-comment-actions { display: flex; align-items: center; gap: 10px; }
.client-comment-actions .primary-button { min-height: 38px; padding: 8px 14px; }
.client-comment-actions [role="status"] { color: var(--muted); font-size: 11px; }
.client-profile-tools {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}
.client-profile-tool {
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(23, 34, 29, .08);
  border-radius: 24px;
  background: rgba(255,255,255,.7);
  box-shadow: 0 16px 44px rgba(41,48,44,.045);
  backdrop-filter: blur(20px);
}
.client-profile-tool h2 { margin: 5px 0 9px; font-size: 20px; }
.client-profile-tool > p,
.client-background-tool p { color: var(--muted); }
.client-detail-comment-editor { min-height: 0; margin-top: 14px; background: rgba(231,241,236,.56); }
.client-detail-comment-editor[open] { grid-column: auto; }
.client-background-tool { display: grid; grid-template-columns: minmax(0, 1fr) 116px; gap: 14px; align-items: start; }
.client-background-tool > img { width: 116px; height: 92px; object-fit: cover; border-radius: 16px; }
.client-background-tool form { display: grid; grid-column: 1 / -1; gap: 10px; }
.client-background-tool input[type="file"] { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.84); }
.client-background-actions { display: flex; align-items: center; gap: 10px; }
.client-saby-unlink { margin-top: 18px; padding: 14px 16px; border: 1px solid rgba(163,69,58,.16); border-radius: 16px; background: rgba(251,241,239,.6); }
.client-saby-unlink > summary { cursor: pointer; color: var(--red); font-weight: 740; }
.client-saby-unlink form { display: grid; gap: 12px; margin-top: 12px; }
.client-saby-unlink label { display: flex; align-items: flex-start; gap: 10px; color: var(--ink); font-weight: 680; }
.client-saby-unlink input[type="checkbox"] { width: 20px; height: 20px; margin-top: 1px; }
.client-saby-unlink .danger-button { justify-self: start; }

.delivery-device-code form { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }
.delivery-device-code label { display: grid; gap: 8px; flex: 1 1 280px; color: var(--muted); font-size: .86rem; }
.delivery-device-code input { min-height: 46px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); color: var(--ink); font: inherit; }
.delivery-device-list { display: grid; gap: 10px; margin-top: 18px; }
.delivery-device-list article { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.55); }
.delivery-device-list article > div { display: grid; gap: 4px; flex: 1; min-width: 0; }
.delivery-device-list article span, .delivery-device-list article small { color: var(--muted); }
.pairing-code-result { margin: 22px 0; padding: 24px; border: 1px solid rgba(18,90,69,.2); border-radius: 24px; background: var(--green-soft); }
.pairing-code-result h2 { margin: 6px 0; color: var(--green); font-size: clamp(2rem,6vw,4rem); letter-spacing: .08em; }
.client-saby-unlink-confirm { margin: 22px 0; }
.collapsible-section { padding: 0; overflow: clip; }
.collapsible-section > summary { padding: 20px 22px; cursor: pointer; list-style: none; }
.collapsible-section > summary::-webkit-details-marker { display: none; }
.collapsible-section > summary::after { content: "+"; margin-left: 10px; color: var(--green); font-size: 23px; font-weight: 400; }
.collapsible-section[open] > summary::after { content: "−"; }
.collapsible-section > .item-list,
.collapsible-section > .inline-empty { margin: 0 20px 20px; }
.device-kind { color: var(--green) !important; font-size: 11px; font-weight: 740; }
.compact-form-shell { max-width: 720px; }
.danger-form-shell { max-width: 800px; border-color: rgba(163, 69, 58, .18); }
.warning-banner { padding: 18px; margin: 18px 0; border-radius: 18px; color: #6d4a17; background: rgba(248, 234, 215, .76); }
.warning-banner p { margin: 8px 0 0; }

@media (max-width: 1180px) {
  .client-filter-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .client-filter-search { grid-column: span 2; }
}

@media (max-width: 720px) {
  .client-filter-panel { grid-template-columns: 1fr 1fr; }
  .client-filter-search { grid-column: 1 / -1; }
  .client-filter-panel .primary-button { grid-column: 1 / -1; }
  .client-card-grid { grid-template-columns: 1fr; }
  .client-card-surface { min-height: 260px; padding: 14px; }
  .client-card-insights > article,
  .client-comment-editor { min-height: 0; }
  .client-card-footer { align-items: flex-start; flex-wrap: wrap; }
  .client-card-open { width: 100%; margin-left: 0; }
  .client-profile-tools { grid-template-columns: 1fr; }
  .client-background-tool { grid-template-columns: minmax(0, 1fr) 92px; }
  .client-background-tool > img { width: 92px; height: 76px; }
  .client-background-actions { align-items: stretch; flex-direction: column; }
  .client-background-actions > * { width: 100%; }
}

@media (max-width: 540px) {
  .client-card-insights { grid-template-columns: 1fr 1fr; }
  .client-comment-editor { grid-column: 1 / -1; }
  .client-weekday-badge { width: 23px; height: 23px; border-radius: 7px; font-size: 8px; }
}

.main-nav a { position: relative; }
.nav-stage-check {
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  margin-left: 5px;
  border-radius: 50%;
  color: #fff;
  background: #168a66;
  font-size: 10px;
  font-style: normal;
  line-height: 1;
  vertical-align: 1px;
}

@media (max-width: 430px) {
  .client-card-insights { grid-template-columns: 1fr; }
  .client-comment-editor { grid-column: auto; }
  .client-card-topline { align-items: flex-start; }
  .client-card-weekdays { flex-wrap: wrap; max-width: 185px; }
}

/* Stage 11 — document workspace and versioned product conversions */
.document-section-switcher {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.document-section-switcher a[aria-current="page"] {
  color: #fff;
  border-color: var(--green);
  background: linear-gradient(145deg, #176b54, #0f5845);
  box-shadow: 0 20px 46px rgba(17, 91, 70, .18);
}
.document-section-switcher a[aria-current="page"] small,
.document-section-switcher a[aria-current="page"] span { color: rgba(255,255,255,.72); }
.night-request-sheet {
  margin: 18px 0;
  padding: 24px;
  border: 1px solid rgba(18, 90, 69, .12);
  border-radius: 28px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 22px 60px rgba(42, 48, 45, .06);
  backdrop-filter: blur(24px);
}
.night-request-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
.night-request-summary div {
  display: grid;
  gap: 3px;
  min-width: 130px;
  padding: 13px 16px;
  border-radius: 16px;
  background: rgba(229, 241, 235, .68);
}
.night-request-summary span { color: var(--muted); font-size: 11px; font-weight: 720; }
.night-request-summary strong { font-size: 20px; }
.night-request-heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.night-request-print-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(18, 90, 69, .14);
  border-radius: 14px;
  color: var(--green);
  background: rgba(255, 255, 255, .72);
  font-size: 12px;
  font-weight: 760;
  text-decoration: none;
}
.night-request-print-link:hover { background: rgba(230, 241, 236, .92); }
.night-request-print-link svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}
.night-request-compact-table th:last-child,
.night-request-compact-table td:last-child {
  width: 180px;
  text-align: right;
}
.night-request-compact-table td { padding-top: 15px; padding-bottom: 15px; }
.night-request-compact-table td:first-child strong { font-size: 16px; }
.night-request-compact-table td:last-child strong {
  color: var(--green);
  font-size: 21px;
  white-space: nowrap;
}
.excluded-night-products { margin-top: 16px; }
.late-night-requests { margin-top: 12px; border-color: rgba(163, 69, 58, .28); background: rgba(247, 230, 227, .54); }
.late-night-requests > summary::after { color: var(--red); }
.late-night-requests > summary > div > strong { color: var(--red); }
.late-night-request-list { display: grid; gap: 10px; padding-top: 16px; }
.late-night-request-note { margin: 0; padding: 12px 14px; border-radius: 14px; color: #81382f; background: rgba(255, 255, 255, .58); font-size: 12px; line-height: 1.45; }
.late-night-request-order { padding: 15px; border: 1px solid rgba(163, 69, 58, .16); border-radius: 17px; background: rgba(255, 255, 255, .68); }
.late-night-request-heading { display: flex; justify-content: space-between; gap: 18px; }
.late-night-request-heading > div:last-child { text-align: right; }
.late-night-request-heading strong,
.late-night-request-heading span { display: block; }
.late-night-request-heading span { margin-top: 4px; color: var(--muted); font-size: 11px; }
.document-mapping-link {
  display: inline-block;
  margin-top: 6px;
  color: var(--green);
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}
.mapping-page-heading { align-items: end; }
.mapping-context-tabs {
  display: flex;
  gap: 8px;
  margin: 18px 0;
  padding: 7px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,.65);
  backdrop-filter: blur(20px);
}
.mapping-context-tabs a {
  flex: 1 0 auto;
  padding: 12px 15px;
  border-radius: 14px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 760;
  text-align: center;
  text-decoration: none;
}
.mapping-context-tabs a[aria-current="page"] { color: #fff; background: var(--green); }
.mapping-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
  gap: 18px;
  align-items: start;
}
.mapping-form-card,
.mapping-history-card {
  padding: 26px;
  border: 1px solid rgba(23,34,29,.09);
  border-radius: 28px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 22px 60px rgba(42,48,45,.06);
  backdrop-filter: blur(24px);
}
.mapping-form-card h2,
.mapping-history-card h2 { margin: 4px 0 10px; }
.mapping-selected-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.mapping-selected-heading h2 { margin-bottom: 0; }
.mapping-selected-card { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 24px; }
.mapping-selected-card div,
.mapping-current-card { display: grid; gap: 5px; padding: 15px 16px; border: 1px solid rgba(23, 102, 79, .11); border-radius: 17px; background: rgba(230, 241, 236, .58); }
.mapping-selected-card span,
.mapping-current-card span,
.mapping-current-card small { color: var(--muted); font-size: 11px; }
.mapping-current-card { margin: 18px 0; }
.mapping-current-card strong { font-size: 18px; }
.mapping-search-button { width: 100%; margin-top: 18px; }
.mapping-ratio {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 12px;
  align-items: end;
  margin: 20px 0;
  padding: 18px;
  border-radius: 20px;
  background: rgba(229,241,235,.6);
}
.mapping-ratio > span { padding-bottom: 17px; color: var(--green); font-size: 25px; }
.mapping-ratio label,
.mapping-form-card .field-grid label { display: grid; gap: 7px; min-width: 0; color: var(--muted); font-size: 12px; font-weight: 720; }
.mapping-ratio small { color: var(--muted); }
.mapping-form-card input,
.mapping-form-card select,
.mapping-form-card textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--ink);
  background: rgba(255,255,255,.9);
  font: inherit;
}
.mapping-form-card textarea { min-height: 82px; resize: vertical; }
.mapping-form-card .primary-button { width: 100%; margin-top: 18px; }
.mapping-history-list { display: grid; gap: 10px; }
.mapping-history-list article { display: grid; gap: 5px; padding: 15px; border-radius: 17px; background: rgba(245,246,242,.86); }
.mapping-history-list span,
.mapping-history-list small,
.mapping-history-list p { margin: 0; color: var(--muted); font-size: 12px; }
.document-product-mapping-board {
  margin: 14px 0 30px;
  padding: 9px;
  border: 1px solid rgba(23,34,29,.09);
  border-radius: 27px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 18px 48px rgba(48,39,27,.05);
  backdrop-filter: blur(24px);
}
.document-product-mapping-scroll { overflow-x: auto; border-radius: 20px; }
.document-product-mapping-table { width: 100%; min-width: 1030px; border-collapse: separate; border-spacing: 0; }
.document-product-mapping-table th,
.document-product-mapping-table td { padding: 13px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.document-product-mapping-table thead th { color: var(--muted); background: rgba(229,241,235,.58); font-size: 11px; }
.document-product-mapping-table tbody th { width: 210px; background: rgba(251,250,247,.78); }
.document-product-mapping-table tbody th strong,
.document-product-mapping-table tbody th small { display: block; }
.document-product-mapping-table tbody th strong { font-size: 13px; }
.document-product-mapping-table tbody th small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.document-product-mapping-table td { width: 205px; }
.document-product-mapping-table td a { display: grid; gap: 5px; min-height: 68px; color: var(--ink); text-decoration: none; }
.document-product-mapping-table td strong { overflow-wrap: anywhere; font-size: 12px; line-height: 1.25; }
.document-product-mapping-table td small { color: var(--muted); font-size: 10px; line-height: 1.35; }
.document-product-mapping-table td em { color: #8b6a3a; font-size: 10px; font-style: normal; font-weight: 720; }
.document-product-mapping-table td.is-required { background: rgba(229,241,235,.34); }
.document-product-mapping-table td.is-optional { opacity: .72; }
.document-product-mapping-table .mapping-missing { color: var(--red); }
.document-product-mapping-table tr:last-child th,
.document-product-mapping-table tr:last-child td { border-bottom: 0; }

@media (max-width: 980px) {
  .document-section-switcher { grid-template-columns: 1fr 1fr; }
  .mapping-layout { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .document-section-switcher { grid-template-columns: 1fr; }
  .mapping-ratio { grid-template-columns: 1fr 1fr; }
  .mapping-ratio > span { display: none; }
  .mapping-selected-heading { align-items: stretch; flex-direction: column; }
  .mapping-selected-card { grid-template-columns: 1fr; }
}

/* Stage 11 local dashboard: compact live overview without duplicating full reports. */
.dashboard-live { display: grid; gap: 18px; }
.dashboard-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 34px;
  padding: 10px 0 22px;
}
.dashboard-hero h1 {
  margin: 8px 0 13px;
  max-width: 780px;
  font-size: clamp(48px, 7.2vw, 88px);
  line-height: .9;
  letter-spacing: -.075em;
}
.dashboard-hero .lead { max-width: 680px; margin: 0; }
.dashboard-freshness {
  display: flex;
  flex: 0 0 auto;
  gap: 11px;
  align-items: center;
  min-width: 210px;
  padding: 15px 18px;
  border: 1px solid rgba(18,90,69,.12);
  border-radius: 20px;
  background: rgba(255,255,255,.64);
  backdrop-filter: blur(22px);
}
.dashboard-freshness > span:last-child { display: grid; gap: 3px; }
.dashboard-freshness strong { font-size: 13px; }
.dashboard-freshness small { color: var(--muted); font-size: 11px; }
.dashboard-live-dot {
  width: 11px;
  height: 11px;
  border: 3px solid rgba(18,90,69,.18);
  border-radius: 50%;
  background: #1b9871;
  box-shadow: 0 0 0 5px rgba(27,152,113,.08);
}
.dashboard-live.is-refreshing .dashboard-live-dot { animation: dashboard-pulse-dot .9s ease-in-out infinite alternate; }
@keyframes dashboard-pulse-dot { to { transform: scale(.72); opacity: .55; } }

.dashboard-pulse {
  display: grid;
  grid-template-columns: minmax(230px, 1.05fr) minmax(285px, 1.28fr) minmax(230px, 1fr) minmax(180px, .72fr);
  gap: 12px;
}
.dashboard-pulse-card {
  position: relative;
  display: grid;
  align-content: space-between;
  min-width: 0;
  min-height: 190px;
  padding: 23px;
  border: 1px solid rgba(23,34,29,.09);
  border-radius: 27px;
  color: var(--ink);
  background: rgba(255,255,255,.78);
  box-shadow: 0 18px 48px rgba(48,39,27,.055);
  text-decoration: none;
  backdrop-filter: blur(24px);
  width: 100%;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.dashboard-pulse-card-main {
  display: grid;
  align-content: space-between;
  min-height: 142px;
  color: inherit;
  text-decoration: none;
}
.dashboard-pulse-card-main > span { color: var(--muted); font-size: 12px; font-weight: 760; }
.dashboard-pulse-card-main > strong {
  align-self: end;
  font-size: clamp(33px, 4.1vw, 54px);
  line-height: 1;
  letter-spacing: -.055em;
}
.dashboard-amount-card { cursor: default; }
.dashboard-amount-card strong { white-space: nowrap; overflow-wrap: normal; }
.dashboard-privacy-toggle {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid rgba(18,90,69,.13);
  border-radius: 50%;
  color: var(--green);
  background: rgba(255,255,255,.72);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.dashboard-amount-card > .dashboard-privacy-toggle { position: absolute; top: 16px; right: 16px; }
.dashboard-private-card { position: relative; cursor: default; }
.dashboard-private-card > .dashboard-privacy-toggle { position: absolute; top: 16px; right: 16px; }
.dashboard-private-card .dashboard-pulse-card-main > span:first-child { padding-right: 30px; }
.dashboard-pulse-primary .dashboard-pulse-card-main > span { color: rgba(255,255,255,.75); }
.dashboard-pulse-primary .dashboard-privacy-toggle { color: white; background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.25); }
.dashboard-private-value { transition: filter .18s ease, opacity .18s ease; }
.dashboard-private-value.is-private,
[data-dashboard-private-panel].is-private {
  filter: blur(12px);
  opacity: .72;
  pointer-events: none;
  user-select: none;
}
.dashboard-quantity-primary {
  align-self: end;
  white-space: nowrap;
  font-size: clamp(34px, 4vw, 54px) !important;
}
.dashboard-quantity-primary b { font-weight: inherit; }
.dashboard-quantity-secondary { margin-top: 7px; color: var(--green) !important; font-size: 14px !important; }
.dashboard-quantity-secondary b { font-size: 18px; }
.dashboard-pulse-card:hover,
.dashboard-workspace-card:hover { transform: translateY(-2px); box-shadow: 0 24px 56px rgba(34,47,40,.10); }
.dashboard-pulse-card > span { color: var(--muted); font-size: 12px; font-weight: 760; }
.dashboard-pulse-card > strong {
  align-self: end;
  overflow-wrap: anywhere;
  font-size: clamp(33px, 4.1vw, 54px);
  line-height: 1;
  letter-spacing: -.055em;
}
.dashboard-pulse-card > strong.dashboard-quantity { font-size: clamp(25px, 3vw, 40px); line-height: 1.08; }
@media (min-width: 1021px) {
  .dashboard-pulse-card > strong.dashboard-quantity { font-size: clamp(25px, 2.55vw, 34px); white-space: nowrap; }
}
.dashboard-pulse-card small { color: var(--muted); font-size: 11px; line-height: 1.4; }
.dashboard-pulse-primary { color: #fff; border-color: transparent; background: linear-gradient(145deg, #176a51, #0b4a38); }
.dashboard-pulse-primary > span,
.dashboard-pulse-primary small { color: rgba(255,255,255,.75); }
.dashboard-pulse-attention { background: linear-gradient(145deg, rgba(255,250,242,.94), rgba(248,234,215,.82)); }
.dashboard-pulse-attention > strong { color: #9a5c13; }

.dashboard-attention-dialog {
  width: min(860px, calc(100vw - 28px));
  max-height: min(790px, calc(100vh - 28px));
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(23,34,29,.10);
  border-radius: 30px;
  color: var(--ink);
  background: rgba(249,247,241,.96);
  box-shadow: 0 34px 100px rgba(18,37,29,.28);
  backdrop-filter: blur(30px);
}
.dashboard-attention-dialog::backdrop {
  background: rgba(12,25,20,.46);
  backdrop-filter: blur(8px);
}
.dashboard-attention-shell { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: inherit; }
.dashboard-attention-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 27px 29px 22px;
  border-bottom: 1px solid rgba(23,34,29,.08);
}
.dashboard-attention-header h2 {
  margin: 6px 0 7px;
  font-size: clamp(27px, 4vw, 39px);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.dashboard-attention-header > div > p:last-child {
  max-width: 650px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.48;
}
.dashboard-attention-close {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(23,34,29,.10);
  border-radius: 50%;
  color: var(--ink);
  background: rgba(255,255,255,.72);
  font: 400 29px/1 system-ui, sans-serif;
  cursor: pointer;
}
.dashboard-attention-list {
  display: grid;
  gap: 11px;
  padding: 19px 22px;
  overflow: auto;
  overscroll-behavior: contain;
}
.dashboard-attention-item {
  padding: 18px;
  border: 1px solid rgba(169,103,22,.16);
  border-radius: 21px;
  background: linear-gradient(145deg, rgba(255,252,246,.94), rgba(249,238,221,.72));
}
.dashboard-attention-item.is-blocking {
  border-color: rgba(164,65,53,.18);
  background: linear-gradient(145deg, rgba(255,249,247,.96), rgba(246,227,222,.74));
}
.dashboard-attention-item.is-acknowledged {
  border-color: rgba(23,34,29,.08);
  background: rgba(255,255,255,.84);
  box-shadow: none;
}
.dashboard-attention-item.is-acknowledged .dashboard-attention-level { color: var(--muted); background: rgba(23,34,29,.06); }
.dashboard-attention-acknowledge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 43px;
  padding: 9px 14px;
  border: 1px solid rgba(18,90,69,.14);
  border-radius: 14px;
  color: var(--green);
  background: rgba(255,255,255,.72);
  font: inherit;
  font-size: 12px;
  font-weight: 780;
  cursor: pointer;
}
.dashboard-attention-acknowledge:disabled { opacity: .55; cursor: wait; }
.dashboard-attention-item-heading { display: flex; justify-content: space-between; gap: 18px; }
.dashboard-attention-item-copy { display: grid; gap: 7px; }
.dashboard-attention-level {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  color: #8a5211;
  background: rgba(231,149,45,.13);
  font-size: 10px;
  font-weight: 780;
}
.dashboard-attention-item.is-blocking .dashboard-attention-level {
  color: #9a3d32;
  background: rgba(180,65,53,.11);
}
.dashboard-attention-item h3 { margin: 0; font-size: 19px; line-height: 1.2; letter-spacing: -.025em; }
.dashboard-attention-reference { margin: 9px 0 0; color: var(--green); font-size: 12px; font-weight: 740; }
.dashboard-attention-description { margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.48; }
.dashboard-attention-actions { display: flex; align-items: end; gap: 10px; margin-top: 14px; }
.dashboard-attention-link,
.dashboard-attention-stock-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 10px 16px;
  border: 1px solid rgba(18,90,69,.14);
  border-radius: 14px;
  color: var(--green);
  background: rgba(255,255,255,.72);
  font: inherit;
  font-size: 12px;
  font-weight: 780;
  text-decoration: none;
  cursor: pointer;
}
.dashboard-attention-stock-form {
  display: grid;
  grid-template-columns: minmax(150px, 220px) auto;
  align-items: end;
  gap: 8px;
  flex: 1 1 auto;
}
.dashboard-attention-stock-field { display: grid; gap: 5px; }
.dashboard-attention-stock-field > span:first-child { color: var(--muted); font-size: 10px; font-weight: 730; }
.dashboard-attention-stock-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 43px;
  padding: 0 12px;
  border: 1px solid rgba(18,90,69,.15);
  border-radius: 14px;
  background: rgba(255,255,255,.84);
}
.dashboard-attention-stock-input input {
  width: 100%;
  min-width: 0;
  padding: 9px 0;
  border: 0;
  outline: 0;
  background: transparent;
  font: inherit;
  font-weight: 760;
}
.dashboard-attention-stock-input b { color: var(--muted); font-size: 11px; }
.dashboard-attention-stock-save { color: #fff; border-color: transparent; background: var(--green); }
.dashboard-attention-stock-save:disabled { opacity: .55; cursor: wait; }
.dashboard-attention-stock-status { grid-column: 1 / -1; min-height: 15px; color: var(--muted); font-size: 10px; }
.dashboard-attention-empty { padding: 34px 22px; border-radius: 22px; text-align: center; background: rgba(226,241,234,.64); }
.dashboard-attention-empty strong { display: block; color: var(--green); font-size: 24px; }
.dashboard-attention-empty p { margin: 7px 0 0; color: var(--muted); }
.dashboard-attention-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 22px 19px;
  border-top: 1px solid rgba(23,34,29,.08);
}
.dashboard-attention-footer > span { color: var(--muted); font-size: 11px; }
.dashboard-attention-footer .secondary-button { min-width: 112px; }

.dashboard-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-top: 20px;
}
.dashboard-section-heading h2 { margin: 4px 0 0; font-size: clamp(28px, 3vw, 38px); letter-spacing: -.045em; }
.dashboard-section-heading > p { max-width: 370px; margin: 0; color: var(--muted); text-align: right; }
.dashboard-section-heading-compact { margin: 0 0 16px; }
.dashboard-section-heading-compact h2 { font-size: 28px; }

.dashboard-workspaces {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.dashboard-workspace-card {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 116px;
  padding: 17px 48px 17px 19px;
  border: 1px solid rgba(23,34,29,.09);
  border-radius: 22px;
  color: var(--ink);
  background: rgba(255,255,255,.72);
  box-shadow: 0 16px 42px rgba(48,39,27,.045);
  text-decoration: none;
  backdrop-filter: blur(22px);
  transition: transform .2s ease, box-shadow .2s ease;
}
.dashboard-workspace-copy { display: grid; gap: 5px; min-width: 0; }
.dashboard-workspace-card span { color: var(--muted); font-size: 11px; font-weight: 780; text-transform: uppercase; letter-spacing: .09em; }
.dashboard-workspace-card strong { font-size: clamp(17px, 1.55vw, 22px); line-height: 1.14; letter-spacing: -.03em; }
.dashboard-workspace-card strong b { font-weight: inherit; }
.dashboard-workspace-card small { color: var(--muted); font-size: 11px; line-height: 1.35; }
.dashboard-workspace-card > i {
  position: absolute;
  top: 50%;
  right: 19px;
  color: var(--green);
  font-size: 18px;
  font-style: normal;
  transform: translateY(-50%);
  transition: transform .2s ease;
}
.dashboard-workspace-card:hover > i { transform: translate(3px, -50%); }

.dashboard-lower-grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 18px; }
.dashboard-feed-card,
.dashboard-safety-card {
  min-width: 0;
  padding: 27px;
  border: 1px solid rgba(23,34,29,.09);
  border-radius: 28px;
  background: rgba(255,255,255,.70);
  box-shadow: 0 18px 48px rgba(48,39,27,.05);
  backdrop-filter: blur(24px);
}
.dashboard-statistics-card { position: relative; min-height: 265px; }
.dashboard-statistics-card .dashboard-section-heading { align-items: flex-start; }
.dashboard-statistics-placeholder {
  display: grid;
  align-content: center;
  min-height: 145px;
  padding: 24px;
  border: 1px dashed rgba(18,90,69,.18);
  border-radius: 22px;
  background: rgba(229,241,235,.38);
}
.dashboard-statistics-placeholder strong { font-size: 24px; letter-spacing: -.03em; }
.dashboard-statistics-placeholder p { max-width: 570px; margin: 8px 0 0; color: var(--muted); line-height: 1.5; }
.dashboard-feed { display: grid; }
.dashboard-feed p { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 13px; margin: 0; padding: 12px 0; border-top: 1px solid var(--line); }
.dashboard-feed time { color: var(--green); font-size: 12px; font-weight: 780; }
.dashboard-feed span { overflow-wrap: anywhere; font-size: 13px; }
.dashboard-feed .dashboard-feed-empty { display: block; color: var(--muted); }
.dashboard-safety-card { color: #fff; border-color: transparent; background: linear-gradient(145deg, rgba(20,92,70,.96), rgba(9,66,50,.96)); }
.dashboard-safety-card .eyebrow,
.dashboard-safety-card > p { color: rgba(255,255,255,.72); }
.dashboard-safety-card h2 { margin: 8px 0 12px; font-size: 30px; letter-spacing: -.04em; }
.dashboard-safety-card > p { line-height: 1.55; }
.dashboard-safety-card dl { display: grid; gap: 9px; margin: 24px 0 0; }
.dashboard-safety-card dl div { display: flex; justify-content: space-between; gap: 16px; padding-top: 9px; border-top: 1px solid rgba(255,255,255,.14); }
.dashboard-safety-card dt { color: rgba(255,255,255,.62); }
.dashboard-safety-card dd { margin: 0; font-weight: 760; }

@media (max-width: 1020px) {
  .dashboard-pulse { grid-template-columns: 1fr 1fr; }
  .dashboard-workspaces { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .night-request-heading-actions { align-items: flex-end; flex-direction: column-reverse; }
  .night-request-print-link span { display: none; }
  .night-request-print-link { width: 42px; padding: 0; justify-content: center; }
  .night-request-compact-table th:last-child,
  .night-request-compact-table td:last-child { width: 116px; }
  .dashboard-hero { align-items: stretch; flex-direction: column; gap: 20px; }
  .dashboard-freshness { align-self: flex-start; }
  .dashboard-pulse { grid-template-columns: 1fr 1fr; }
  .dashboard-pulse-card { min-height: 158px; padding: 18px; }
  .dashboard-section-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
  .dashboard-section-heading > p { text-align: left; }
  .dashboard-lower-grid { grid-template-columns: 1fr; }
  .dashboard-workspace-card { min-height: 108px; }
  .dashboard-attention-dialog { width: calc(100vw - 16px); max-height: calc(100vh - 16px); border-radius: 24px; }
  .dashboard-attention-header { padding: 21px 19px 17px; }
  .dashboard-attention-list { padding: 14px; }
  .dashboard-attention-actions { align-items: stretch; flex-direction: column; }
  .dashboard-attention-stock-form { grid-template-columns: 1fr; width: 100%; }
  .dashboard-attention-stock-status { grid-column: 1; }
  .dashboard-attention-link { width: 100%; }
  .dashboard-attention-footer { align-items: stretch; flex-direction: column; }
}
@media (max-width: 540px) {
  .dashboard-hero h1 { font-size: 49px; }
  .dashboard-pulse,
  .dashboard-workspaces { grid-template-columns: 1fr; }
  .dashboard-pulse-card { min-height: 146px; }
  .dashboard-workspace-card {
    min-height: 96px;
    padding: 15px 43px 15px 16px;
    border-radius: 20px;
  }
  .dashboard-workspace-card > i { right: 16px; }
}

/* Stage 11 documents — compact navigation and collapsed document previews */
.document-section-switcher {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin: 16px 0 10px;
  padding: 6px;
  border: 1px solid rgba(18, 90, 69, .10);
  border-radius: 22px;
  background: rgba(255, 255, 255, .58);
  box-shadow: 0 14px 38px rgba(51, 41, 25, .04);
  backdrop-filter: blur(22px);
}
.document-section-switcher a {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  gap: 4px;
  min-height: 62px;
  padding: 11px 15px;
  border: 0;
  border-radius: 16px;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
}
.document-section-switcher a:hover {
  transform: none;
  border-color: transparent;
  background: rgba(230, 241, 236, .72);
}
.document-section-switcher strong { font-size: 15px; line-height: 1.15; }
.document-section-switcher small { overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.document-section-switcher a[aria-current="page"] {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(145deg, #176b54, #0f5845);
  box-shadow: 0 12px 28px rgba(17, 91, 70, .16);
}
.document-section-switcher a[aria-current="page"] small { color: rgba(255, 255, 255, .74); }

.production-document-card {
  margin: 16px 0;
  padding: 21px;
  border: 1px solid var(--line);
  border-radius: 27px;
  background: rgba(255, 255, 255, .74);
  box-shadow: var(--shadow);
  scroll-margin-top: 18px;
}
.production-document-card.is-ready { border-color: rgba(18, 90, 69, .22); }
.production-document-card.is-blocked { border-color: rgba(163, 69, 58, .17); }
.production-document-header,
.document-transfer-compact-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
}
.production-document-header h2 { margin: 3px 0 5px; font-size: 29px; letter-spacing: -.04em; }
.production-document-header p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 12px; }
.production-document-header > .status,
.document-transfer-compact-header > .status { flex: 0 0 auto; }
.production-document-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.production-document-facts > div {
  display: grid;
  gap: 4px;
  min-width: 116px;
  padding: 11px 13px;
  border-radius: 15px;
  background: rgba(230, 241, 236, .54);
}
.production-document-facts > div:first-child { flex: 1 1 250px; }
.production-document-facts span,
.document-transfer-compact-route span { color: var(--muted); font-size: 9px; font-weight: 720; }
.production-document-facts strong { overflow-wrap: anywhere; color: var(--green); font-size: 15px; }
.production-preview-issues { margin-top: 13px; }
.production-action-outside { margin-top: 13px; }
.document-preview-action.production-action-outside > div { min-width: 0; }
.document-preview-action.production-action-outside > div > strong { display: block; }

.production-detail-disclosure,
.document-detail-disclosure {
  margin-top: 13px;
  overflow: hidden;
  border: 1px solid rgba(18, 90, 69, .12);
  border-radius: 18px;
  background: rgba(249, 250, 248, .72);
}
.production-detail-disclosure > summary,
.document-detail-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 60px;
  padding: 13px 16px;
  list-style: none;
  cursor: pointer;
}
.production-detail-disclosure > summary::-webkit-details-marker,
.document-detail-disclosure > summary::-webkit-details-marker { display: none; }
.production-detail-disclosure > summary > div,
.document-detail-disclosure > summary > div { display: grid; gap: 3px; min-width: 0; }
.production-detail-disclosure > summary strong,
.document-detail-disclosure > summary strong { font-size: 14px; }
.production-detail-disclosure > summary small,
.document-detail-disclosure > summary > div > span { color: var(--muted); font-size: 10px; }
.production-detail-disclosure > summary > span,
.document-detail-disclosure > summary > span { color: var(--green); font-size: 11px; font-weight: 760; }
.production-detail-disclosure[open] > summary,
.document-detail-disclosure[open] > summary { border-bottom: 1px solid var(--line); background: rgba(230, 241, 236, .38); }
.production-detail-disclosure[open] > summary > span,
.document-detail-disclosure[open] > summary > span { font-size: 0; }
.production-detail-disclosure[open] > summary > span::after,
.document-detail-disclosure[open] > summary > span::after { content: "Скрыть"; font-size: 11px; }
.production-detail-body { padding: 0 16px 16px; }
.production-detail-body .production-preview-route { padding-top: 16px; }

.document-transfer-card { padding: 19px; }
.document-transfer-compact-header strong,
.document-transfer-compact-header span { display: block; }
.document-transfer-compact-header > div > strong { margin-bottom: 4px; font-size: 19px; letter-spacing: -.025em; }
.document-transfer-compact-header > div > span { color: var(--muted); font-size: 11px; }
.document-transfer-compact-route {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 15px;
  background: rgba(230, 241, 236, .40);
}
.document-transfer-compact-route div { display: grid; gap: 4px; }
.document-transfer-compact-route div:last-child { text-align: right; }
.document-transfer-compact-route strong { overflow-wrap: anywhere; font-size: 13px; }
.document-action-outside { margin-top: 12px; }
.document-detail-disclosure .document-preview-body { padding: 15px; border-top: 0; }
.document-detail-disclosure .document-preview-store-issues { margin-top: 0; }

@media (max-width: 760px) {
  .document-section-switcher {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }
  .document-section-switcher a { flex: 0 0 145px; min-height: 58px; scroll-snap-align: start; }
  .production-document-card,
  .document-transfer-card { padding: 17px; border-radius: 23px; }
  .production-document-header,
  .document-transfer-compact-header { align-items: flex-start; flex-direction: column; gap: 10px; }
  .production-document-header h2 { font-size: 25px; }
  .document-transfer-compact-route { grid-template-columns: 1fr; gap: 10px; }
  .document-transfer-compact-route div:last-child { padding-top: 9px; border-top: 1px solid var(--line); text-align: left; }
  .production-detail-disclosure > summary,
  .document-detail-disclosure > summary { min-height: 56px; padding: 12px 13px; }
}

/* Stage 11.4 — explicit stage state, focused document settings and manual close. */
.document-section-switcher a.is-complete:not([aria-current="page"]) {
  border: 1px solid rgba(18, 122, 88, .18);
  background: rgba(220, 240, 229, .64);
}
.document-section-switcher a.is-complete strong::after {
  content: "✓";
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-left: 7px;
  border-radius: 50%;
  color: #fff;
  background: #168a66;
  font-size: 10px;
  vertical-align: 2px;
}
.document-section-switcher .document-settings-tab {
  display: grid;
  place-items: center;
  justify-self: end;
  width: 52px;
  min-height: 52px;
  padding: 0;
  border: 1px solid rgba(18, 90, 69, .12);
  border-radius: 50%;
}
.document-settings-tab svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.document-settings-sections,
.document-mapping-contexts {
  display: grid;
  gap: 10px;
  margin: 18px 0;
}
.document-settings-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.document-mapping-contexts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.document-settings-sections a,
.document-mapping-contexts a {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 17px 18px;
  border: 1px solid rgba(23, 34, 29, .09);
  border-radius: 20px;
  color: var(--ink);
  background: rgba(255,255,255,.68);
  text-decoration: none;
  backdrop-filter: blur(20px);
}
.document-settings-sections a { grid-template-columns: 26px minmax(0, 1fr); align-items: center; }
.document-settings-sections a > span { grid-row: 1 / 3; color: var(--green); font-size: 22px; }
.document-settings-sections small,
.document-mapping-contexts small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.document-settings-sections a[aria-current="page"],
.document-mapping-contexts a[aria-current="page"] { color: #fff; border-color: var(--green); background: var(--green); }
.document-settings-sections a[aria-current="page"] span,
.document-settings-sections a[aria-current="page"] small,
.document-mapping-contexts a[aria-current="page"] small { color: rgba(255,255,255,.74); }
.document-transfer-sections a {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  min-height: 96px;
  gap: 6px;
}
.document-transfer-sections a > strong,
.document-transfer-sections a > small { grid-column: 1; min-width: 0; }
.document-transfer-sections a > strong { font-size: 18px; line-height: 1.15; }
.document-transfer-sections a > small {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  line-height: 1.35;
}
.document-mapping-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: end;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,.58);
}
.document-mapping-search label { display: grid; gap: 7px; color: var(--muted); font-size: 11px; font-weight: 720; }
.document-mapping-search input {
  width: 100%;
  min-height: 45px;
  padding: 10px 13px;
  border: 1px solid var(--line);
  border-radius: 13px;
  color: var(--ink);
  background: rgba(255,255,255,.86);
  font: inherit;
}
.document-mapping-search > a { align-self: center; color: var(--green); font-size: 12px; font-weight: 740; }
.document-mapping-disclosure {
  margin: 14px 0 30px;
  overflow: clip;
  border: 1px solid rgba(23,34,29,.09);
  border-radius: 24px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 18px 48px rgba(48,39,27,.05);
}
.document-mapping-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 76px;
  padding: 17px 20px;
  cursor: pointer;
  list-style: none;
}
.document-mapping-disclosure > summary::-webkit-details-marker { display: none; }
.document-mapping-disclosure > summary > span { display: grid; gap: 4px; }
.document-mapping-disclosure > summary small { color: var(--muted); font-size: 11px; }
.document-mapping-disclosure > summary b { color: var(--green); font-size: 22px; }
.document-mapping-disclosure[open] > summary { border-bottom: 1px solid var(--line); background: rgba(229,241,235,.36); }
.document-mapping-list { display: grid; }
.document-mapping-row {
  display: grid;
  grid-template-columns: minmax(210px, .9fr) minmax(260px, 1.2fr) auto;
  gap: 16px;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line);
}
.document-mapping-row:last-child { border-bottom: 0; }
.document-mapping-row.is-required { background: rgba(229,241,235,.28); }
.document-mapping-product,
.document-mapping-value { display: grid; gap: 4px; min-width: 0; }
.document-mapping-product small,
.document-mapping-value small { overflow-wrap: anywhere; color: var(--muted); font-size: 10px; }
.document-mapping-value strong { overflow-wrap: anywhere; font-size: 13px; }
.document-mapping-value .mapping-missing { color: var(--red); }

.closure-manual-panel {
  margin: 18px 0;
  padding: 24px;
  border: 1px solid rgba(18, 90, 69, .13);
  border-radius: 27px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 18px 48px rgba(48,39,27,.05);
  backdrop-filter: blur(22px);
}
.closure-manual-panel h2 { margin: 5px 0 8px; }
.closure-manual-panel > p { color: var(--muted); }
.closure-early-close-form { display: grid; gap: 14px; margin-top: 18px; }
.closure-early-close-form label {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(229,241,235,.55);
  font-weight: 720;
}
.closure-early-close-form input[type="checkbox"] { width: 21px; height: 21px; margin-top: 1px; }

@media (max-width: 840px) {
  .document-settings-sections,
  .document-mapping-contexts { grid-template-columns: 1fr 1fr; }
  .document-mapping-row { grid-template-columns: 1fr auto; }
  .document-mapping-value { grid-column: 1; }
  .document-mapping-row > .secondary-button { grid-column: 2; grid-row: 1 / 3; }
}
@media (max-width: 580px) {
  .document-settings-sections,
  .document-mapping-contexts { grid-template-columns: 1fr; }
  .document-mapping-search { grid-template-columns: 1fr; }
  .document-mapping-search > a { justify-self: start; }
  .document-mapping-row { grid-template-columns: 1fr; }
  .document-mapping-row > .secondary-button { grid-column: 1; grid-row: auto; width: 100%; }
}

.product-editor-layout { display: grid; grid-template-columns: minmax(250px, .52fr) minmax(0, 1.48fr); gap: 24px; align-items: start; }
.product-editor-hero { position: sticky; top: 18px; padding: 12px 0; }
.product-editor-hero h1 { margin: 9px 0 14px; overflow-wrap: anywhere; font-size: clamp(42px, 5vw, 72px); line-height: .94; letter-spacing: -.065em; }
.product-editor-summary { display: grid; grid-template-columns: minmax(100px, .75fr) minmax(0, 1.25fr); gap: 8px 12px; margin-top: 20px; padding: 18px; border-radius: 22px; background: rgba(255,255,255,.64); backdrop-filter: blur(20px); }
.product-editor-summary span { color: var(--muted); font-size: 10px; }
.product-editor-summary strong { overflow-wrap: anywhere; font-size: 11px; }
.product-editor-form { display: grid; gap: 13px; padding: 18px; }
.product-editor-basics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.product-editor-basics .field-group { margin: 0; padding: 16px; border: 1px solid rgba(23,34,29,.07); border-radius: 18px; background: rgba(250,251,249,.62); }
.product-editor-basics .field-group:nth-child(1),
.product-editor-basics .field-group:nth-child(4),
.product-editor-basics .field-group:nth-child(5) { grid-column: 1 / -1; }
.product-editor-disclosure { overflow: clip; border: 1px solid rgba(23,34,29,.09); border-radius: 20px; background: rgba(255,255,255,.65); }
.product-editor-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 68px; padding: 14px 17px; cursor: pointer; list-style: none; }
.product-editor-disclosure > summary::-webkit-details-marker { display: none; }
.product-editor-disclosure > summary > span:first-child { display: grid; gap: 3px; }
.product-editor-disclosure > summary small { color: var(--muted); font-size: 10px; }
.product-editor-disclosure > summary::after { content: "+"; color: var(--green); font-size: 23px; font-weight: 420; }
.product-editor-disclosure[open] > summary { border-bottom: 1px solid var(--line); background: rgba(229,241,235,.34); }
.product-editor-disclosure[open] > summary::after { content: "−"; }
.product-editor-disclosure-body { display: grid; gap: 12px; padding: 14px; }
.product-editor-disclosure-body > .field-group { margin: 0; padding: 14px; border-radius: 16px; }
.product-editor-form .draft-notice { margin: 0; }
.product-editor-form .form-actions { position: sticky; bottom: 8px; z-index: 3; margin: 0; padding: 10px; border: 1px solid rgba(18,90,69,.09); border-radius: 18px; background: rgba(249,250,247,.88); box-shadow: 0 16px 42px rgba(34,42,38,.10); backdrop-filter: blur(20px); }
.saby-link-card.product-editor-disclosure { margin-top: 14px; padding: 0; }
.saby-link-card.product-editor-disclosure > summary.section-heading { margin: 0; }

.print-constructor-heading { align-items: end; }
.print-constructor { display: grid; grid-template-columns: 270px minmax(520px, 1fr) 230px; gap: 18px; align-items: start; }
.print-constructor-tools,
.print-constructor-tray { position: sticky; top: 14px; display: grid; gap: 14px; padding: 18px; border: 1px solid rgba(23,34,29,.09); border-radius: 23px; background: rgba(255,255,255,.76); box-shadow: 0 18px 48px rgba(48,39,27,.05); }
.print-constructor-tools h2 { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 20px; }
.print-constructor-tools label { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px 12px; color: var(--muted); font-size: 11px; font-weight: 720; }
.print-constructor-tools label output { color: var(--green); font-variant-numeric: tabular-nums; }
.print-constructor-tools label input,
.print-constructor-tools label textarea { grid-column: 1 / -1; }
.print-constructor-tools input[type="number"],
.print-constructor-tools input[type="text"],
.print-constructor-tools textarea { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 12px; font: inherit; }
.print-constructor-global-scale { padding: 12px; border-radius: 15px; background: rgba(224,240,233,.65); }
.print-constructor-global-scale label { margin: 0; }
.print-constructor-hint { margin: -4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.print-constructor-preview-link { justify-self: center; font-size: 12px; font-weight: 740; }
.print-constructor-save-status { min-height: 30px; margin: 0; color: #a9600c; font-size: 11px; font-weight: 720; line-height: 1.4; }
.print-constructor-save-status.is-ready { color: var(--green); }
.print-constructor-workspace { min-width: 0; }
.print-constructor-page { position: relative; width: min(100%, 680px); aspect-ratio: 210 / 297; margin: 0 auto; padding: 4%; overflow: visible; border: 1px solid #cfd7d2; border-radius: 8px; background: #fff; box-shadow: 0 20px 60px rgba(30,38,34,.14); }
.print-constructor-sheet-header { position: absolute; z-index: 2; top: 4%; right: 4%; display: flex; align-items: end; justify-content: space-between; gap: 12px; width: 34%; min-height: 9%; padding: 1.4%; border: 1px solid rgba(23,102,79,.26); border-radius: 8px; background: rgba(240,247,243,.94); pointer-events: none; }
.print-constructor-sheet-header div { display: grid; gap: 2px; }
.print-constructor-sheet-header small { color: var(--green); font-size: 8px; font-weight: 820; letter-spacing: .16em; text-transform: uppercase; }
.print-constructor-sheet-header strong { font-size: 20px; line-height: 1; }
.print-constructor-sheet-header em { color: var(--muted); font-size: 9px; font-style: normal; font-weight: 720; }
.print-constructor-sheet-header > span { color: var(--muted); font-size: 12px; font-weight: 720; }
.print-constructor-canvas { position: absolute; inset: 4%; overflow: visible; transition: background .18s ease; }
.print-constructor-canvas.is-drag-over { background: rgba(224,240,233,.48); }
.print-constructor-item { position: absolute; left: var(--item-x); top: var(--item-y); display: grid; grid-template-columns: calc(16px * var(--global-block-scale, 1)) minmax(0, 1fr) auto; gap: calc(6px * var(--global-block-scale, 1)); align-items: center; width: var(--item-width); min-height: calc(28px * var(--global-block-scale, 1)); padding: calc(2px * var(--global-block-scale, 1)) calc(5px * var(--global-block-scale, 1)); border: 0; border-bottom: 1px solid rgba(23,34,29,.16); border-radius: 0; background: rgba(255,255,255,.94); cursor: grab; touch-action: none; user-select: none; }
.print-constructor-item[hidden] { display: none; }
.print-constructor-item:hover { background: rgba(230,241,236,.66); }
.print-constructor-item.is-dragging { z-index: 4; cursor: grabbing; box-shadow: 0 10px 24px rgba(21,33,28,.14); }
.print-constructor-item.is-snapped { box-shadow: 0 0 0 2px rgba(25,146,111,.42); }
.print-constructor-item.is-new::after { content: "новый"; position: absolute; right: 4px; top: -10px; padding: 1px 4px; border-radius: 6px; color: var(--green); background: #e7f4ef; font-size: 7px; font-weight: 820; text-transform: uppercase; }
.print-constructor-item.is-selected { z-index: 3; border-color: var(--orange); border-radius: 6px; background: #fff8ec; box-shadow: 0 0 0 3px rgba(218,125,19,.17); }
.print-constructor-grip { overflow: hidden; color: rgba(23,102,79,.5); font-size: 11px; font-style: normal; letter-spacing: -3px; }
.print-constructor-item strong { min-width: 0; overflow: hidden; font-size: calc(11px * var(--global-block-scale, 1) * var(--item-scale)); line-height: 1.08; text-overflow: ellipsis; white-space: nowrap; }
.print-constructor-item b { color: var(--green); font-size: calc(14px * var(--global-block-scale, 1) * var(--quantity-scale)); line-height: 1; white-space: nowrap; }
.print-constructor-page-switcher { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 12px; }
.print-constructor-page-switcher button { min-width: 48px; }
.print-constructor-tray h2 { margin: -6px 0 0; font-size: 20px; }
.print-constructor-tray > p,
.print-constructor-tray > small { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.print-constructor-tray-dropzone { display: grid; align-content: start; gap: 8px; min-height: 280px; max-height: 62vh; padding: 10px; overflow-y: auto; border: 1px dashed rgba(23,102,79,.35); border-radius: 17px; background: rgba(236,244,240,.44); transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.print-constructor-tray.is-drag-over .print-constructor-tray-dropzone { border-color: var(--green); background: rgba(212,238,226,.76); transform: scale(1.015); }
.print-constructor-tray-dropzone > small { align-self: center; justify-self: center; color: var(--muted); text-align: center; }
.print-constructor-tray button { display: grid; gap: 4px; padding: 10px; border: 1px solid var(--line); border-radius: 13px; color: var(--ink); background: #fff; text-align: left; cursor: grab; }
.print-constructor-tray button:active { cursor: grabbing; }
.print-constructor-tray button span { color: var(--green); font-size: 11px; }
.custom-order-input-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 18px; margin-top: 14px; }
.custom-order-input-grid > div { min-width: 0; }
.custom-order-input-grid textarea { width: 100%; resize: vertical; }
.field-label { display: block; margin-bottom: 8px; font-weight: 760; }
.digit-key-choice-grid ul { display: grid; grid-template-columns: repeat(5,minmax(42px,1fr)); gap: 7px; margin: 0; padding: 0; list-style: none; }
.digit-key-choice-grid label { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px; padding: 7px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.72); font-weight: 800; cursor: pointer; }
.digit-key-choice-grid input { margin: 0; }

@media (max-width: 1080px) {
  .product-editor-layout { grid-template-columns: 1fr; }
  .product-editor-hero { position: static; }
  .print-constructor { grid-template-columns: 220px minmax(430px, 1fr); }
  .print-constructor-tray { position: static; grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .product-editor-basics { grid-template-columns: 1fr; }
  .product-editor-basics .field-group { grid-column: 1 !important; }
  .custom-order-input-grid { grid-template-columns: 1fr; }
  .print-constructor { grid-template-columns: 1fr; }
  .print-constructor-tools { position: static; }
  .print-constructor-workspace { overflow-x: auto; }
  .print-constructor-page { min-width: 470px; }
}
/* Read-only Presto/Saby freshness checks. */
.external-data-check {
  margin: 0 0 24px;
  padding: 20px 22px;
  border: 1px solid rgba(18, 90, 69, .14);
  border-radius: 24px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 18px 44px rgba(23, 34, 29, .05);
}
.external-data-check.is-running { background: rgba(237, 246, 242, .86); }
.external-data-check.has-differences { border-color: rgba(190, 124, 29, .26); }
.external-data-check.is-failed { border-color: rgba(163, 69, 58, .28); }
.external-data-check-summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.external-data-check-summary > div { display: grid; gap: 5px; }
.external-data-check-summary strong { font-size: 20px; }
.external-data-check-summary span, .external-data-check-summary small { color: var(--muted, #68736d); }
.external-data-check-summary form { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.external-data-check-summary form span { max-width: 260px; font-size: 13px; }
.external-data-check-error { margin: 14px 0 0; color: #a3453a; }
.external-data-check-results { margin-top: 16px; border-top: 1px solid rgba(18, 90, 69, .12); padding-top: 14px; }
.external-data-check-results > summary { cursor: pointer; font-weight: 700; color: #125a45; }
.external-data-check-results > div { display: grid; gap: 8px; margin-top: 12px; }
.external-data-check-item { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 13px 14px; border-radius: 16px; background: rgba(242, 246, 243, .86); }
.external-data-check-item > span { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: #125a45; }
.external-data-check-item.is-warning > span { color: #9a641b; }
.external-data-check-item.is-error > span { color: #a3453a; }
.external-data-check-item p { margin: 3px 0; }
.external-data-check-item small { color: var(--muted, #68736d); overflow-wrap: anywhere; }
.external-data-check-item a { color: #125a45; white-space: nowrap; }
.closure-excluded-card { display: grid; grid-template-columns: minmax(180px, .45fr) 1fr; gap: 18px; padding: 18px 20px; }
.closure-excluded-card > div { display: grid; align-content: start; gap: 4px; }
.closure-excluded-card > div span { color: var(--muted, #68736d); }
.closure-excluded-card ul, .closure-manual-missing-list article > ul { margin: 0; padding-left: 20px; color: #7d4d16; }
.closure-manual-missing-list article > ul { flex: 1; }
@media (max-width: 760px) {
  .external-data-check-summary { align-items: stretch; flex-direction: column; }
  .external-data-check-summary form { align-items: stretch; flex-direction: column; }
  .external-data-check-item { grid-template-columns: 1fr; }
  .closure-excluded-card { grid-template-columns: 1fr; }
}
