/* Compact sound controls: never inherit full-width scanner field dimensions. */
.fbs-return-dialog label:has(> [data-intake-sound]),
.warehouse-barcode-field label:has(> [data-intake-sound]) { display:inline-flex; flex-direction:row; align-items:center; flex:0 0 auto; width:auto; min-width:0; gap:6px; margin:0; padding:5px 8px; font-size:12px; line-height:18px; white-space:nowrap; cursor:pointer; border-radius:6px; background:#f3f6fa; color:#51627a; }
.fbs-return-dialog input[data-intake-sound],
.warehouse-barcode-field input[data-intake-sound] { appearance:auto; width:16px!important; height:16px!important; min-width:16px; min-height:0; flex:0 0 16px; margin:0; padding:0; accent-color:#ad0ba6; box-shadow:none; cursor:pointer; }
.warehouse-barcode-field label[for="warehouseBarcodeInput"] { order:0; }
.warehouse-barcode-field #warehouseBarcodeInput { order:1; }
.warehouse-barcode-field label:has(> [data-intake-sound]) { order:2; align-self:flex-start; }
.fbs-return-dialog label:has(> [data-intake-sound]), .warehouse-barcode-field label:has(> [data-intake-sound]) { display:inline-flex!important; flex-direction:row!important; width:fit-content!important; min-width:0!important; flex:0 0 auto!important; justify-self:start; }
/* Billing is scoped so operational assembly controls are unaffected. */
#fbsBillingDialog {width:min(1160px,96vw);max-width:96vw;max-height:92vh;margin:auto;padding:24px;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px #14202b30;font-family:var(--font-primary);font-size:14px;line-height:1.5;overflow:auto;}
#fbsBillingDialog::backdrop {background:#14202b66;}
#fbsBillingDialog .billing-header {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;}
#fbsBillingDialog h2 {font-size:25px;line-height:1.25;margin:0;font-weight:800;}
#fbsBillingDialog button {min-height:42px;padding:10px 16px;border:1px solid #e6bee3;border-radius:9px;background:#f8edf8;color:var(--accent);font-size:13px;font-weight:700;line-height:1.35;transition:background .15s;}
#fbsBillingDialog button:hover {background:#f0dbf0;}
#fbsBillingDialog button:focus-visible,#fbsBillingDialog input:focus-visible,#fbsBillingDialog select:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}
#fbsBillingDialog button[type=submit],#fbsBillingDialog #fbsBillingInvoice {background:var(--accent);border-color:var(--accent);color:#fff;}
#fbsBillingDialog button[type=submit]:hover,#fbsBillingDialog #fbsBillingInvoice:hover {background:#900c85;}
#fbsBillingDialog #fbsBillingClose {background:#fff;color:var(--muted);border-color:var(--line);flex-shrink:0;}
#fbsBillingForm {display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(135px,1fr));gap:12px;align-items:end;padding:18px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;margin-top:16px;}
#fbsStatisticsForm {display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:12px;align-items:end;padding:16px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;}
#fbsStatisticsForm label {display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;color:var(--muted);}
#fbsStatisticsForm input,#fbsStatisticsForm select {width:100%;min-width:0;height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--text);}
.fbs-statistics-periods {grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;}
#fbsStatisticsForm [aria-pressed=true] {background:var(--accent);color:white;border-color:var(--accent);}
#fbsStatisticsResult {margin:16px 0 24px;}
#fbsStatisticsResult>p,#fbsStatisticsResult>small {color:var(--muted);font-size:12px;}
@media(max-width:700px){#fbsStatisticsForm {grid-template-columns:1fr 1fr;}#fbsStatisticsForm button[type=submit] {grid-column:1/-1;}}
#fbsBillingForm label {display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--muted);min-width:0;}
#fbsBillingForm input,#fbsBillingForm select {width:100%;min-width:0;height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:14px;font-weight:500;}
#fbsBillingInvoice {grid-column:1/-1;justify-self:end;}
#fbsBillingDialog>p,#fbsBillingDialog .billing-help {color:var(--muted);font-size:12px;line-height:1.6;}
#fbsBillingDialog .billing-help summary {cursor:pointer;}
#fbsBillingInvoiceStatus:empty {display:none;}
#fbsBillingInvoiceStatus:not(:empty) {padding:12px;background:var(--surface-soft);border-radius:8px;}
#fbsBillingResult {margin-top:22px;}
#fbsBillingDialog .billing-totals {display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px;margin-bottom:24px;}
#fbsBillingDialog .billing-totals>div {padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);}
#fbsBillingDialog .billing-totals>div:nth-child(2) {background:#fbf1fb;border-color:#e8c5e6;}
#fbsBillingDialog .billing-totals span {display:block;color:var(--muted);font-size:12px;font-weight:600;}
#fbsBillingDialog .billing-totals strong {display:block;font-size:25px;font-weight:800;margin-top:4px;font-variant-numeric:tabular-nums;}
#fbsBillingDialog h3 {font-size:17px;margin:20px 0 12px;}
#fbsBillingDialog h3>span {display:inline-block;padding:2px 9px;margin-left:6px;background:#f4e5f4;color:var(--accent);border-radius:20px;font-size:12px;}
#fbsBillingDialog .billing-table-scroll {overflow:auto;max-height:520px;border:1px solid var(--line);border-radius:12px;}
#fbsBillingDialog table {width:100%;border-collapse:separate;border-spacing:0;font-size:13px;line-height:1.45;}
#fbsBillingDialog th {position:sticky;top:0;z-index:1;background:#eef3f7;color:var(--muted);text-align:left;font-size:11px;font-weight:700;white-space:nowrap;padding:13px 14px;border-bottom:1px solid var(--line);}
#fbsBillingDialog td {padding:14px;vertical-align:top;border-bottom:1px solid #e6edf2;min-width:75px;}
#fbsBillingDialog tr:last-child td {border-bottom:0;}
#fbsBillingDialog tbody tr:nth-child(even) {background:#fafbfd;}
#fbsBillingDialog tbody tr:hover {background:#fcf4fc;}
#fbsBillingDialog .billing-items {min-width:910px;}
#fbsBillingDialog .billing-items td:nth-child(2) {width:34%;min-width:250px;}
#fbsBillingDialog .billing-items td:last-child {width:20%;min-width:170px;}
#fbsBillingDialog .billing-number {text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
#fbsBillingDialog .billing-amount {font-weight:700;}
#fbsBillingDialog .billing-order {font-size:12px;color:var(--accent);}
#fbsBillingDialog .billing-product {margin:3px 0;font-weight:600;}
#fbsBillingDialog small {display:block;color:var(--muted);font-size:11px;}
#fbsBillingDialog .billing-status {display:inline-block;padding:3px 8px;border-radius:6px;background:#e4f4ec;color:#156448;font-size:11px;font-weight:700;}
#fbsBillingDialog .billing-status.is-pending {background:#fff3cb;color:#86620d;}
#fbsBillingDialog .billing-reason {margin-top:6px;}
#fbsBillingDialog time {white-space:nowrap;font-variant-numeric:tabular-nums;}
#fbsBillingDialog .billing-empty {padding:16px;color:var(--muted);border:1px dashed var(--line);border-radius:10px;}
#fbsBillingResult details>summary {padding:12px 0;font-weight:700;cursor:pointer;}
@media(max-width:850px){#fbsBillingForm{grid-template-columns:1fr 1fr;}#fbsBillingForm label:first-child{grid-column:1/-1;}#fbsBillingInvoice{justify-self:stretch;}#fbsBillingDialog .billing-totals strong{font-size:20px;}}
@media(max-width:520px){#fbsBillingDialog{padding:16px;}#fbsBillingDialog h2{font-size:20px;}#fbsBillingDialog .billing-header{align-items:flex-start;}#fbsBillingDialog #fbsBillingClose{padding:8px;font-size:11px;}#fbsBillingForm{padding:12px;gap:10px;}#fbsBillingDialog .billing-totals{grid-template-columns:1fr;gap:8px;}#fbsBillingDialog .billing-totals>div{padding:10px 14px;display:flex;align-items:center;justify-content:space-between;}#fbsBillingDialog .billing-totals strong{margin:0;}}
#fbsBillingDialog .billing-select {width:18px;height:18px;display:block;margin:0 0 8px;accent-color:var(--accent);}
#fbsBillingDialog .billing-edit-row {display:block;min-height:30px;padding:4px 8px;font-size:11px;margin-top:8px;}
#fbsBillingDialog .billing-group>button {margin-bottom:12px;}
#billingCorrectionDialog {width:min(560px,94vw);max-height:90vh;overflow:auto;padding:24px;border:1px solid var(--line);border-radius:14px;color:var(--text);background:#fff;box-shadow:var(--shadow);}
#billingCorrectionDialog::backdrop {background:#14202b66;}
#billingCorrectionDialog h3 {margin-top:0;}
#billingCorrectionDialog p {font-size:13px;color:var(--muted);}
#billingCorrectionForm label {display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;}
#billingCorrectionForm input {width:100%;height:42px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:12px;}
.billing-dimension-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.billing-correction-actions {display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;}
:root {
  color-scheme: light;
  --bg: #f4f6f8;
  --surface: #ffffff;
  --surface-soft: #eef3f7;
  --text: #14202b;
  --muted: #687786;
  --line: #d7e0e8;
  --accent: #ac109f;
  --accent-dark: #6f0767c4;
  --danger: #bb3a35;
  --shadow: 0 20px 50px rgba(20, 32, 43, 0.08);
  --font-primary: "Inter", "Manrope", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-secondary: "Manrope", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* {
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-primary);
}

button,
input,
select,
textarea {
  font: inherit;
  font-family: var(--font-primary);
}

button {
  border: 0;
  cursor: pointer;
  font-family: var(--font-secondary);
}

button:disabled {
  cursor: default;
  opacity: 0.62;
}

.app-shell {
  width: min(1320px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 24px 0 40px;
}

.is-hidden {
  display: none !important;
}

.login-page {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 24px;
}

.login-card {
  display: grid;
  width: min(420px, 100%);
  gap: 18px;
  padding: 28px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.login-card h1 {
  margin-bottom: 4px;
}

.login-card button {
  min-height: 46px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-weight: 900;
}

.login-card button:hover {
  background: var(--accent-dark);
}

.login-error {
  min-height: 20px;
  color: var(--danger);
  font-size: 13px;
  font-weight: 800;
}

.auth-panel {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: min(1120px, calc(100vw - 32px));
  margin: 12px auto 0;
  padding: 8px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.auth-panel span {
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.auth-panel strong {
  color: var(--text);
}

.client-portal {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  min-height: 100vh;
  background: #f4f6f9;
}

.client-sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
  height: 100vh;
  padding: 26px 20px;
  background: #ffffff;
  border-right: 1px solid #dce5ee;
  box-shadow: 12px 0 40px rgba(20, 32, 43, 0.05);
}

.client-brand {
  display: grid;
  gap: 8px;
}

.client-brand span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 1000;
  text-transform: uppercase;
}

.client-brand strong {
  color: #0f172a;
  font-size: 20px;
  line-height: 1.15;
}

.client-nav {
  display: grid;
  gap: 8px;
}

.client-nav button,
.client-logout-button {
  min-height: 44px;
  padding: 0 14px;
  color: #506173;
  background: transparent;
  border-radius: 14px;
  font-weight: 900;
  text-align: left;
}

.client-nav button.is-active,
.client-nav button:hover {
  color: #fff;
  background: linear-gradient(135deg, #ac109f, #5d5fef);
}

.client-logout-button {
  margin-top: auto;
  color: #ac109f;
  background: #f8eafa;
  text-align: center;
}

.client-main {
  min-width: 0;
  padding: 30px;
}

.client-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.client-hero h1 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(32px, 5vw, 56px);
  line-height: 0.95;
}

.client-user-chip {
  display: grid;
  min-width: 190px;
  gap: 4px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #dce5ee;
  border-radius: 20px;
  box-shadow: var(--shadow);
}

.client-hero-chips { display: flex; flex-wrap: wrap; gap: 12px; }
#clientPortalDebtAge { max-width: 220px; font-size: 12px; line-height: 1.4; color: #64748b; }
#clientPortalDebtAge b { white-space: nowrap; }
.debt-age-green { color: #15803d; }
.debt-age-yellow { color: #a16207; }
.debt-age-red { color: #b91c1c; }
@media (max-width: 680px) {
  .client-hero-chips { width: 100%; }
  .client-hero-chips .client-user-chip { flex: 1 1 150px; min-width: 0; }
}

.client-user-chip span,
.client-card small,
.client-table-head {
  color: #687786;
  font-size: 12px;
  font-weight: 800;
}

.client-user-chip strong {
  color: #0f172a;
}

.client-portal-content {
  display: grid;
  gap: 18px;
}

.client-stats-grid,
.client-dashboard-grid {
  display: grid;
  gap: 16px;
}

.client-stats-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.client-dashboard-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.8fr);
  align-items: start;
}

.client-card {
  min-width: 0;
  padding: 18px;
  background: #fff;
  border: 1px solid #dce5ee;
  border-radius: 24px;
  box-shadow: var(--shadow);
}

.client-stat-card {
  display: flex;
  min-height: 132px;
  justify-content: space-between;
  gap: 16px;
}

.client-stat-card strong {
  display: block;
  margin-top: 8px;
  color: #0f172a;
  font-size: 30px;
  line-height: 1;
}

.client-card h2 {
  margin: 0 0 14px;
  color: #0f172a;
  font-size: 20px;
}

.client-list {
  display: grid;
  gap: 10px;
}

.client-row {
  display: grid;
  grid-template-columns: minmax(110px, 0.7fr) minmax(180px, 1fr) minmax(120px, 0.7fr) minmax(120px, 0.6fr);
  gap: 12px;
  align-items: center;
  min-height: 64px;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid #e7edf3;
  border-radius: 16px;
}

.client-row strong {
  color: #0f172a;
}

.client-row.is-clickable {
  cursor: pointer;
  text-align: left;
}

.client-row.is-clickable:hover {
  background: #f8fafc;
}

.client-status {
  display: inline-flex;
  width: max-content;
  align-items: center;
  border-radius: 10px;
  padding: 6px 10px;
  color: #7c1475;
  background: #f8eafa;
  font-size: 12px;
  font-weight: 1000;
}

.client-status.is-paid,
.client-status.is-ready {
  color: #167347;
  background: #eaf8ef;
}

.client-status.is-warning {
  color: #9a5b00;
  background: #fff4d8;
}

.client-table-head {
  padding: 0 14px;
  min-height: 28px;
  background: transparent;
  border: 0;
}

.client-empty {
  padding: 24px;
  color: #687786;
  text-align: center;
}

.client-order-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.client-order-stat {
  min-height: 122px;
}

.client-order-stat span,
.client-order-stat small,
.client-orders-head p,
.client-order-card small,
.client-order-card p,
.client-detail-head p,
.client-detail-grid small,
.client-doc-row small,
.client-timeline-row small,
.client-timeline-row em {
  color: #64748b;
}

.client-order-stat strong {
  display: block;
  margin: 8px 0 2px;
  color: #0f172a;
  font-size: 32px;
  line-height: 1;
}

.client-orders-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.52fr);
  gap: 18px;
  align-items: start;
}

.client-orders-list-card,
.client-order-detail {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.client-orders-head {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e7edf3;
}

.client-orders-head > div { flex: 1 1 240px; min-width: 0; }
.client-orders-head > button { flex: 0 0 auto; max-width: 100%; }

.client-orders-head h2,
.client-order-detail-card h2 {
  margin-bottom: 4px;
}

.client-orders-toolbar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: 12px;
  padding: 16px 0;
}

.client-orders-toolbar label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.client-orders-toolbar span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}

.client-orders-toolbar input,
.client-orders-toolbar select {
  width: 100%;
  min-height: 44px;
  padding: 0 14px;
  color: #0f172a;
  background: #fff;
  border: 1px solid #dce5ee;
  border-radius: 14px;
  font: inherit;
  font-weight: 800;
}

.client-order-list {
  display: grid;
  gap: 12px;
}

.client-order-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  width: 100%;
  padding: 16px;
  background: #fff;
  border: 1px solid #e7edf3;
  border-radius: 22px;
  text-align: left;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.client-order-card:hover,
.client-order-card.is-active {
  background: #fbf7ff;
  border-color: #e6c6ef;
  box-shadow: 0 14px 34px rgba(172, 16, 159, 0.09);
  transform: translateY(-1px);
}

.client-order-card.is-warning {
  background: #fffaf0;
  border-color: #f7d99a;
}

.client-order-card-top,
.client-order-title-line,
.client-order-progress-top,
.client-order-tags,
.client-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.client-order-title-line {
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
}

.client-order-title-line strong {
  color: #0f172a;
  font-size: 16px;
}

.client-order-card h3 {
  margin: 6px 0 2px;
  color: #334155;
  font-size: 15px;
}

.client-order-arrow {
  color: #94a3b8;
  font-size: 28px;
  line-height: 1;
}

.client-order-card-side {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-left: auto;
}

.client-order-amount {
  display: grid;
  gap: 2px;
  min-width: 104px;
  padding: 8px 10px;
  background: #f3fbf6;
  border: 1px solid #c7f0d7;
  border-radius: 14px;
  color: #166534;
  text-align: right;
  white-space: nowrap;
}

.client-order-amount small {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}

.client-order-amount strong {
  color: #0f172a;
  font-size: 15px;
}

.client-order-progress {
  display: grid;
  gap: 7px;
}

.client-order-progress-top strong {
  color: #0f172a;
}

.client-order-progress-top span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}

.client-order-progress.is-ready .client-order-progress-top span {
  color: #167347;
}

.client-order-progress.is-warning .client-order-progress-top span {
  color: #9a5b00;
}

.client-order-progress-bar {
  height: 8px;
  overflow: hidden;
  background: #eef3f8;
  border-radius: 999px;
}

.client-order-progress-bar span {
  display: block;
  height: 100%;
  background: #4387f4;
  border-radius: inherit;
}

.client-order-progress.is-ready .client-order-progress-bar span {
  background: #2fb36d;
}

.client-order-progress.is-warning .client-order-progress-bar span {
  background: #f0a626;
}

.client-order-tags {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.client-order-tags em {
  padding: 6px 9px;
  color: #475569;
  background: #f1f5f9;
  border-radius: 9px;
  font-size: 11px;
  font-style: normal;
  font-weight: 1000;
}

.client-detail-progress {
  display: grid;
  gap: 10px;
  margin: 18px 0;
  padding: 16px;
  background: #fbf7ff;
  border: 1px solid #f0d8f4;
  border-radius: 20px;
}

.client-detail-progress > span {
  color: #475569;
  font-size: 13px;
  font-weight: 900;
}

.client-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.client-detail-grid div {
  min-width: 0;
  padding: 12px;
  background: #f8fafc;
  border-radius: 16px;
}

.client-detail-grid strong {
  display: block;
  margin-top: 4px;
  color: #0f172a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.client-open-request-button {
  width: 100%;
  min-height: 48px;
  margin-top: 16px;
  color: #fff;
  background: linear-gradient(135deg, #ac109f, #654ee8);
  border: 0;
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(172, 16, 159, 0.18);
  font-size: 15px;
  font-weight: 1000;
}

.client-open-request-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(172, 16, 159, 0.22);
}

.client-primary-button,
.client-submit-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  color: #fff;
  background: linear-gradient(135deg, #ac109f, #654ee8);
  border: 0;
  border-radius: 16px;
  font: inherit;
  font-weight: 1000;
  white-space: nowrap;
  box-shadow: 0 14px 28px rgba(172, 16, 159, 0.16);
}

.client-primary-button:hover,
.client-submit-button:hover {
  transform: translateY(-1px);
}

.client-request-create-page {
  display: grid;
  gap: 18px;
}

.client-request-create-intro {
  display: grid;
  gap: 8px;
}

.client-request-create-intro h2 {
  margin: 0;
  font-size: 34px;
  line-height: 1;
}

.client-request-create-intro p:last-child {
  max-width: 780px;
  margin: 0;
  color: #64748b;
  font-weight: 800;
}

.client-request-create-form {
  display: grid;
  gap: 18px;
}

.client-request-create-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.client-request-create-grid label,
.client-request-draft-controls label,
.client-request-task-row label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.client-request-create-grid span,
.client-request-draft-controls span,
.client-request-task-row span {
  color: #64748b;
  font-size: 12px;
  font-weight: 1000;
}

.client-request-create-grid input,
.client-request-create-grid select,
.client-request-draft-controls input,
.client-request-draft-controls select,
.client-request-task-row input,
.client-request-task-row textarea {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  color: #0f172a;
  background: #fff;
  border: 1px solid #dce5ee;
  border-radius: 14px;
  font: inherit;
  font-weight: 800;
}

.client-request-task-row textarea {
  min-height: 76px;
  padding-top: 14px;
  resize: vertical;
}

.client-checkbox-field {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px !important;
  min-height: 72px;
  padding: 0 14px;
  background: #f8fafc;
  border: 1px solid #dce5ee;
  border-radius: 16px;
}

.client-checkbox-field input {
  width: 22px;
  min-height: 22px;
  padding: 0;
}

.client-request-create-products {
  position: relative;
  z-index: 20;
  overflow: visible;
  border: 1px solid #dce5ee;
  border-radius: 20px;
}

.client-request-destinations {
  overflow: hidden;
  border: 1px solid #dce5ee;
  border-radius: 20px;
}

.client-destination-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  padding: 14px 16px;
}

.client-add-destination-button {
  margin: 0 16px 16px;
}

.client-remove-destination-button {
  margin: 0 16px 16px 0;
}

.client-request-create-products-head,
.client-request-draft-tools,
.client-request-draft-controls,
.client-request-task-row {
  padding: 16px;
  border-bottom: 1px solid #e7edf3;
}

.client-request-create-products-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #eef5f9;
}

.client-request-create-products-head h2 {
  margin: 0 0 4px;
}

.client-request-create-products-head p,
.client-request-draft-tools span {
  margin: 0;
  color: #64748b;
  font-weight: 800;
}

.client-request-create-products-head > strong {
  display: grid;
  min-width: 44px;
  height: 44px;
  place-items: center;
  color: #fff;
  background: #ac109f;
  border-radius: 14px;
  font-size: 20px;
}

.client-request-draft-tools {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.client-request-draft-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px 170px;
  gap: 12px;
  align-items: end;
  overflow: visible;
}

.client-request-product-search {
  position: relative;
  z-index: 50;
}

.client-request-draft-preview {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 74px;
  padding: 10px;
  background: #f8fafc;
  border: 1px solid #dce5ee;
  border-radius: 16px;
}

.client-product-search-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 120;
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  max-height: 360px;
  min-height: auto;
  padding: 8px;
  overflow: auto;
  white-space: normal;
  background: #fff;
  box-shadow: 0 22px 45px rgba(15, 23, 42, 0.18);
}

.client-product-search-option {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 8px;
  color: #0f172a;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 12px;
  cursor: pointer;
}

.client-product-search-option > span {
  min-width: 0;
}

.client-product-search-option:hover,
.client-product-search-option:focus-visible {
  background: #f8eafa;
  outline: none;
}

.client-product-search-option .product-photo {
  width: 52px;
  height: 52px;
}

.client-product-search-option strong,
.client-product-search-empty strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  line-height: 1.15;
}

.client-product-search-option small,
.client-product-search-empty small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}

.client-product-search-empty {
  padding: 12px;
}

.client-request-draft-preview strong,
.client-request-draft-row strong {
  color: #0f172a;
}

.client-request-draft-preview small,
.client-request-draft-row small,
.client-request-draft-row p {
  color: #64748b;
  font-weight: 800;
}

.client-request-draft-preview em,
.client-request-draft-row em {
  display: inline-flex;
  margin: 5px 5px 0 0;
  padding: 3px 8px;
  color: #475569;
  background: #f1f5f9;
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 1000;
}

.client-request-task-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.28fr);
  gap: 12px;
}

.client-request-draft-list {
  display: grid;
}

.client-request-draft-row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 80px 110px;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid #e7edf3;
}

.client-request-draft-row:last-child {
  border-bottom: 0;
}

.client-request-draft-row p {
  margin: 6px 0 0;
}

.client-request-draft-row > strong {
  justify-self: center;
  font-size: 20px;
}

.client-submit-button {
  width: 100%;
}

.client-doc-list,
.client-timeline {
  display: grid;
  gap: 10px;
}

.client-doc-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 36px;
  gap: 10px;
  align-items: center;
  padding: 12px;
  background: #fff;
  border: 1px solid #e7edf3;
  border-radius: 16px;
}

.client-doc-row > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #2563eb;
  background: #eff6ff;
  border-radius: 14px;
  font-weight: 1000;
}

.client-doc-row.violet > span {
  color: #7c1475;
  background: #f8eafa;
}

.client-doc-row.green > span {
  color: #167347;
  background: #eaf8ef;
}

.client-doc-row.gray > span {
  color: #64748b;
  background: #f1f5f9;
}

.client-doc-row strong,
.client-doc-row small {
  display: block;
}

.client-doc-row button {
  min-height: 36px;
  color: #64748b;
  background: #f8fafc;
  border-radius: 12px;
  font-size: 18px;
}

.client-request-detail-page {
  display: grid;
  gap: 18px;
}

.client-request-detail-top {
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
}

.client-request-detail-top > div {
  min-width: 0;
  padding: 22px;
  background: #fff;
  border: 1px solid #dce5ee;
  border-radius: 24px;
  box-shadow: var(--shadow);
}

.client-back-button {
  margin-bottom: 18px;
}

.client-request-title-line {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 6px;
}

.client-request-title-line h2 {
  margin: 0;
  color: #0f172a;
  font-size: 42px;
  line-height: 1;
}

.client-request-detail-top p {
  margin: 8px 0 0;
  color: #64748b;
  font-weight: 900;
}

.client-request-detail-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.client-request-detail-summary div {
  min-width: 0;
  padding: 14px;
  background: #f8fafc;
  border-radius: 18px;
}

.client-request-detail-summary small {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}

.client-request-detail-summary strong {
  display: block;
  margin-top: 5px;
  color: #0f172a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.client-request-composition-card {
  overflow: hidden;
  padding: 0;
}

.client-request-composition-card h2 {
  margin: 0;
  padding: 18px 18px 14px;
  border-bottom: 1px solid #e7edf3;
}

.client-request-composition {
  display: grid;
}

.client-request-product-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid #e7edf3;
}

.client-request-product-card:last-child {
  border-bottom: 0;
}

.client-request-product-card > * {
  min-width: 0;
}

.client-request-product-card .product-photo {
  width: 54px;
  height: 54px;
}

.client-request-product-info {
  display: grid;
  gap: 6px;
}

.client-request-product-info strong {
  color: #0f172a;
  font-size: 14px;
  line-height: 1.15;
}

.client-request-product-info p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}

.client-request-product-tags,
.client-request-services {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.client-request-product-tags em,
.client-request-services em,
.client-request-services span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 1000;
  line-height: 1.1;
}

.client-request-product-tags em {
  color: #475569;
  background: #f1f5f9;
}

.client-request-product-tags .city-tag {
  color: #0f766e;
  background: #ccfbf1;
  border: 1px solid #99f6e4;
}

.client-request-services em {
  color: #ac109f;
  background: #f8eafa;
  border: 1px solid #efc9ed;
}

.client-request-services span {
  color: #94a3b8;
  background: #f8fafc;
}

.client-request-product-metrics {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.client-request-product-metrics div {
  min-width: 0;
  padding: 9px;
  background: #f8fafc;
  border-radius: 14px;
}

.client-request-product-metrics small {
  display: block;
  color: #64748b;
  font-size: 10px;
  font-weight: 900;
}

.client-request-product-metrics strong {
  display: block;
  margin-top: 2px;
  color: #0f172a;
  font-size: 18px;
  line-height: 1;
}

.client-multi-request-view {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.client-multi-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.client-multi-title-line {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.client-multi-title-line h3,
.client-multi-section-head h3,
.client-city-summary h3 {
  margin: 0;
  color: #0f172a;
  font-size: 20px;
  line-height: 1.15;
}

.client-multi-head p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 900;
}

.client-multi-stats {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
}

.client-multi-stat {
  min-width: 0;
  padding: 13px;
  background: #fff;
  border: 1px solid #dce5ee;
  border-radius: 14px;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.05);
}

.client-multi-stat small,
.client-multi-meta small {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 1000;
}

.client-multi-stat strong {
  display: block;
  margin-top: 6px;
  color: #0f172a;
  font-size: 22px;
  line-height: 1;
}

.client-multi-stat span {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}

.client-multi-stat.is-cities {
  border-color: #ddd6fe;
  background: #faf5ff;
}

.client-multi-stat.is-total,
.client-multi-stat.is-ready {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.client-multi-stat.is-defects {
  border-color: #fecaca;
  background: #fff7f7;
}

.client-multi-stat.is-remaining {
  border-color: #fed7aa;
  background: #fff7ed;
}

.client-multi-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  gap: 10px;
  align-items: stretch;
  padding: 12px;
  background: #fbf7ff;
  border: 1px solid #f2d9f8;
  border-radius: 16px;
}

.client-multi-meta > div {
  min-width: 0;
}

.client-multi-meta strong {
  display: block;
  margin-top: 4px;
  color: #0f172a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.client-multi-meta .secondary-action-button {
  min-height: 42px;
  align-self: center;
  white-space: nowrap;
}

.client-multi-section-head {
  display: grid;
  gap: 12px;
}

.client-multi-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px;
  gap: 10px;
}

.client-multi-toolbar input,
.client-multi-toolbar select {
  width: 100%;
  min-height: 38px;
  padding: 0 12px;
  color: #0f172a;
  background: #fff;
  border: 1px solid #d7e2ec;
  border-radius: 10px;
  font-weight: 800;
}

.client-multi-table-wrap {
  overflow-x: auto;
  border: 1px solid #dce5ee;
  border-radius: 14px;
}

.client-multi-table {
  min-width: calc(780px + var(--city-count, 1) * 110px);
  background: #fff;
}

.client-multi-row {
  display: grid;
  grid-template-columns: 72px minmax(190px, 1.35fr) minmax(140px, 0.9fr) 84px minmax(130px, 0.8fr) 112px repeat(var(--city-count, 1), minmax(105px, 1fr));
  align-items: center;
  min-height: 62px;
  border-bottom: 1px solid #e7edf3;
}

.client-multi-row > span {
  min-width: 0;
  padding: 10px;
  color: #0f172a;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.2;
}

.client-multi-header {
  min-height: 46px;
  background: #edf4fa;
}

.client-multi-header > span,
.client-multi-total > span {
  color: #64748b;
  font-size: 11px;
  font-weight: 1000;
  text-transform: none;
}

.client-multi-row .product-photo {
  width: 48px;
  height: 48px;
}

.client-multi-product {
  display: grid;
  gap: 6px;
}

.client-multi-product strong {
  overflow: hidden;
  color: #0f172a;
  font-size: 13px;
  line-height: 1.2;
}

.client-multi-services {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.client-multi-services em {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  color: #ac109f;
  background: #f8eafa;
  border: 1px solid #efc9ed;
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  font-weight: 1000;
}

.client-multi-total {
  min-height: 42px;
  background: #f8fafc;
}

.client-multi-total > span {
  color: #0f172a;
}

.client-city-summary {
  display: grid;
  gap: 10px;
}

.client-city-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.client-city-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  background: #fff;
  border: 1px solid #e7edf3;
  border-radius: 14px;
}

.client-city-card > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.client-city-card strong {
  color: #0f172a;
}

.client-city-card dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.client-city-card dt,
.client-city-card dd {
  margin: 0;
}

.client-city-card dt {
  color: #64748b;
  font-size: 10px;
  font-weight: 900;
}

.client-city-card dd {
  margin-top: 3px;
  color: #0f172a;
  font-size: 14px;
  font-weight: 1000;
}

.client-timeline-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  background: #f8fafc;
  border-radius: 16px;
}

.client-timeline-row > span {
  display: block;
  width: 36px;
  height: 36px;
  background: #eaf8ef;
  border-radius: 12px;
}

.client-timeline-row.warn > span {
  background: #fff4d8;
}

.client-timeline-row strong,
.client-timeline-row small,
.client-timeline-row em {
  display: block;
}

.client-timeline-row em {
  margin-top: 2px;
  font-size: 11px;
  font-style: normal;
}

.auth-panel button {
  min-height: 34px;
  padding: 0 12px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-weight: 900;
}

.auth-panel button:hover {
  background: var(--accent-dark);
}

.topbar {
  display: flex;
  min-height: 88px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  padding: 4px 0 12px;
  border-bottom: 1px solid transparent;
}

.top-stats {
  display: flex;
  gap: 10px;
}

.assembly-nav-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.home-actions,
.back-button {
  display: flex;
}

.home-actions {
  align-items: center;
  gap: 8px;
  padding: 4px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.home-actions button,
.back-button {
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-weight: 900;
  line-height: 1;
}

.home-actions button:hover,
.back-button:hover {
  background: var(--accent-dark);
}

.document-action-button {
  min-height: 42px;
  padding: 0 16px;
  color: var(--accent);
  background: #f8eafa;
  border-radius: 8px;
  font-weight: 900;
  line-height: 1;
}

.document-action-button:hover:not(:disabled) {
  background: #f1d7f5;
}

.document-action-button:disabled {
  color: var(--muted);
  cursor: not-allowed;
  opacity: 0.58;
}

.eyebrow {
  margin: 0 0 4px;
  color: var(--accent);
  font-family: var(--font-secondary);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

h1 {
  margin: 0;
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1;
  letter-spacing: 0;
}

.stats {
  min-width: 118px;
  padding: 12px 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  text-align: right;
}

.stats span {
  display: block;
  color: var(--muted);
  font-size: 13px;
}

.stats strong {
  display: block;
  margin-top: 2px;
  font-size: 30px;
  line-height: 1;
}

.workspace {
  display: grid;
  gap: 18px;
  align-items: start;
}

.request-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(135px, 1fr)) 120px;
  align-items: end;
  gap: 10px;
  margin-bottom: 14px;
  padding: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.filter-reset-button {
  min-height: 44px;
  padding: 0 14px;
  color: var(--accent);
  background: #f8eafa;
  border-radius: 8px;
  font-weight: 900;
}

.filter-reset-button:hover {
  background: #f1d7f5;
}

.request-scope-tabs {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 6px;
  margin: 0 0 14px;
  padding: 5px;
  background: #f8f0fb;
  border: 1px solid #efd0f4;
  border-radius: 8px;
}

.request-scope-tabs button {
  min-height: 38px;
  padding: 0 16px;
  color: var(--accent);
  background: transparent;
  border-radius: 7px;
  font-weight: 900;
}

.request-scope-tabs button.is-active {
  color: #fff;
  background: var(--accent);
  box-shadow: 0 8px 18px rgba(172, 16, 159, 0.18);
}

.document-scope-tabs {
  margin: 12px 16px;
}

.requests-load-more {
  display: flex;
  justify-content: center;
  grid-column: 1 / -1;
  width: 100%;
  padding: 14px 18px;
  background: #fff;
  border-top: 1px solid var(--line);
}

.requests-load-more .secondary-action-button {
  min-width: min(280px, 100%);
  justify-content: center;
}

.status-settings-section {
  margin-bottom: 14px;
  overflow: hidden;
}

.status-settings-section .section-title {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
}

.status-settings-body {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.statuses-list {
  display: grid;
  gap: 8px;
}

.status-settings-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 120px;
  align-items: center;
  gap: 8px;
}

.status-settings-row span {
  color: var(--muted);
  font-weight: 900;
  text-align: center;
}

.status-settings-row button,
.status-add-form button {
  min-height: 40px;
  padding: 0 12px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-weight: 900;
}

.status-settings-row button {
  color: var(--danger);
  background: #fff3f2;
  border: 1px solid #f1cac7;
}

.status-settings-row button:disabled {
  color: var(--muted);
  background: var(--surface-soft);
  border-color: var(--line);
}

.status-add-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 130px 120px;
  gap: 8px;
}

.status-add-form .ghost {
  color: var(--accent);
  background: #f8eafa;
}

.client-ym-view { margin-top: 20px; }
.client-row.client-invoice-row { grid-template-columns: minmax(120px, 1fr) minmax(0, .5fr) auto auto; }
.client-invoice-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 680px) { .client-row.client-invoice-row { grid-template-columns: 1fr; } }
.client-ym-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.client-ym-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 24px 0 16px; }
.client-ym-filters label { display: grid; gap: 8px; flex: 1 1 200px; min-width: 0; }
.client-ym-table { max-height: 560px; overflow: auto; border: 1px solid var(--line); border-radius: 8px; }
.client-ym-table table { width: 100%; min-width: 650px; border-collapse: collapse; }
.client-ym-table th, .client-ym-table td { padding: 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.client-ym-table th { background: var(--surface); position: sticky; top: 0; }
.client-ym-table td div + div { margin-top: 10px; }
.client-ym-product { display: flex; align-items: flex-start; gap: 12px; }
.client-ym-photo { display: flex; align-items: center; justify-content: center; flex: 0 0 56px; width: 56px; height: 72px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--surface); color: var(--muted); font-size: 11px; }
.client-ym-photo img { width: 100%; height: 100%; object-fit: contain; }

#usersPage .users-pagination:not([hidden]) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 16px;
}

.box-panel,
.items-section,
.history-section,
.requests-section,
.audit-section,
.warehouse-receive-panel,
.warehouse-items-section,
.warehouse-stock-section,
.warehouse-receipts-section,
.warehouse-receipt-detail-section,
.users-section,
.services-section,
.shipments-section,
.shipment-schedule-section,
.invoices-section,
.invoice-editor,
.status-settings-section,
.client-filters,
.client-editor,
.clients-section,
.products-section,
.request-create-panel,
.request-product-picker,
.plan-section {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.box-panel,
.warehouse-receive-panel,
.client-form,
.user-form,
.services-form,
.request-create-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  gap: 14px;
  padding: 18px;
}

.request-create-panel {
  align-items: start;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.request-destinations-panel {
  grid-column: 1 / -1;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.assembly-destinations-panel {
  margin-bottom: 16px;
}

.destination-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  padding: 12px;
}

.destination-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  color: var(--text);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  text-align: left;
}

.destination-card.is-active {
  background: #eef6ff;
  border-color: #9cc7ff;
  box-shadow: 0 0 0 2px rgba(24, 130, 255, 0.12);
}

.destination-card-header,
.destination-card-meta,
.destination-card-stats {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.destination-card-header {
  justify-content: space-between;
}

.destination-card-title {
  overflow: hidden;
  font-size: 15px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.destination-card-badges {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

.destination-shipment-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #9a6a10;
  background: #fff6df;
  border: 1px solid #ffe1a8;
  border-radius: 7px;
}

.destination-shipment-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.destination-shipment-icon.is-ready {
  color: #148360;
  background: #eafaf4;
  border-color: #bfe9dd;
}

.destination-shipment-icon.is-missing {
  color: #9a6a10;
  background: #fff6df;
  border-color: #ffe1a8;
}

.destination-card-meta {
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.destination-card-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.destination-card-stats span {
  display: grid;
  gap: 3px;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.destination-card-stats strong {
  color: var(--text);
  font-size: 15px;
}

.destination-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  color: #92400e;
  background: #fff7df;
  border: 1px solid #fde68a;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .request-create-panel {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .request-create-panel {
    grid-template-columns: 1fr;
  }
}

.client-editor {
  margin-bottom: 18px;
}

.client-card-overview {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.client-card-overview div {
  min-height: 74px;
  padding: 12px 14px;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.client-card-overview span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.client-card-overview strong {
  display: block;
  color: var(--text);
  font-size: 18px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.client-form {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
  min-width: 0;
}

.client-form-section {
  display: grid;
  grid-column: 1 / -1;
  gap: 14px;
  min-width: 0;
  max-width: 100%;
  padding: 18px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: none;
}

.client-form-section-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.client-form-section-header h2 {
  margin: 0;
  color: var(--text);
  font-family: var(--font-secondary);
  font-size: 16px;
  line-height: 1.2;
}

.client-integration-header {
  grid-template-columns: 34px minmax(0, 1fr) auto;
}

.client-integration-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  gap: 12px;
  min-width: 0;
  max-width: 100%;
}

.client-integration-fields[hidden] {
  display: none;
}

.client-integration-toggle {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto auto;
  align-items: center;
  justify-self: stretch;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 38px;
  max-width: 100%;
  padding: 10px 12px;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}

.client-integration-brand {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: var(--accent-dark);
  background: #f8eafa;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 900;
}

.client-integration-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
  text-align: left;
}

.client-integration-copy strong {
  color: var(--text);
  font-size: 14px;
}

.client-integration-copy > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.client-integration-status {
  justify-self: end;
  padding: 5px 8px;
  color: var(--muted);
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 7px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

#clientWbIntegrationStatus.is-success {
  color: #17633a;
  background: #edf9f2;
  border-color: #bfe4cd;
}

#clientWbIntegrationStatus.is-error {
  color: var(--danger);
  background: #fff3f2;
  border-color: #f1cac7;
}

.client-integration-action {
  justify-self: end;
  color: var(--accent);
  font-size: 12px;
  font-weight: 900;
}

.client-integration-toggle:hover:not(:disabled) {
  background: #f8eafa;
  border-color: #edc8f1;
}

.client-form input,
.client-form select,
.client-form textarea {
  min-width: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

.client-form button {
  max-width: 100%;
  font-family: var(--font-secondary);
  line-height: 1.2;
  white-space: normal;
  overflow-wrap: anywhere;
}

.client-form input:focus-visible,
.client-form select:focus-visible,
.client-form textarea:focus-visible,
.client-form button:focus-visible {
  border-color: var(--accent);
  outline: 3px solid rgba(172, 16, 159, 0.28);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(172, 16, 159, 0.12);
}

.client-form .wide-field {
  grid-column: span 2;
}

.client-wb-token-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.client-wb-token-actions .secondary-action-button {
  min-height: 42px;
  padding-inline: 16px;
  color: var(--accent);
  background: #f8eafa;
  border-color: #edc8f1;
  white-space: nowrap;
}

.client-wb-token-status {
  display: grid;
  grid-column: 1 / -1;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--muted);
  background: #f8fafc;
  font-size: 12px;
  font-weight: 700;
}

.client-wb-token-status[hidden] {
  display: none;
}

.client-wb-token-status.is-success {
  color: #17633a;
  background: #edf9f2;
  border-color: #bfe4cd;
  box-shadow: inset 3px 0 0 var(--accent);
}

.client-wb-token-status.is-error {
  color: var(--danger);
  background: #fff3f2;
  border-color: #f1cac7;
}

.client-wb-token-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.client-wb-token-summary > strong {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #17633a;
  font-size: 13px;
  white-space: nowrap;
}

.client-wb-token-summary > strong span {
  color: #21a366;
  font-size: 10px;
}

.client-wb-token-meta,
.client-wb-token-categories {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}

.client-wb-token-meta span {
  color: #687786;
}

.client-wb-token-meta b {
  color: #1f2937;
}

.client-wb-token-category {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 3px 9px;
  color: var(--accent-dark);
  background: #f8eafa;
  border: 1px solid #edc8f1;
  border-radius: 7px;
  font-weight: 800;
}

.client-wb-warehouses {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #bfe4df;
  border-radius: 10px;
  background: #f3fbfa;
}

.client-wb-warehouses[hidden] {
  display: none;
}

.client-wb-warehouses-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.client-wb-warehouses-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.client-wb-warehouses-copy h3,
.client-wb-warehouses-copy p {
  margin: 0;
}

.client-wb-warehouses-copy h3 {
  color: var(--text);
  font-size: 14px;
}

.client-wb-warehouses-copy p,
.client-wb-warehouses-footer {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.client-wb-warehouses-toolbar .secondary-action-button {
  min-height: 44px;
  padding: 9px 14px;
  color: var(--accent);
  background: #f8eafa;
  border-color: #edc8f1;
}

.client-wb-cabinet-picker {
  display: grid;
  grid-template-columns: minmax(140px, auto) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.client-wb-cabinet-picker[hidden],
.client-wb-warehouses-search[hidden],
.client-wb-selected-warehouses[hidden] {
  display: none;
}

.client-wb-cabinet-picker label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.client-wb-cabinet-picker select,
.client-wb-warehouses-search {
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  font: inherit;
}

.client-wb-cabinet-picker select:focus-visible,
.client-wb-warehouses-search:focus-visible {
  border-color: var(--accent);
  outline: 3px solid rgba(172, 16, 159, 0.2);
  outline-offset: 1px;
}

.client-wb-selected-warehouses {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.client-wb-selected-chip {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  gap: 7px;
  padding: 4px 5px 4px 9px;
  color: var(--teal-dark, #176f69);
  background: #e9f7f5;
  border: 1px solid #b8ddd8;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.client-wb-selected-chip small {
  color: var(--muted);
  font-size: 10px;
}

.client-wb-selected-chip button {
  display: grid;
  min-width: 44px;
  min-height: 44px;
  place-items: center;
  color: #fff;
  background: var(--accent);
  border-radius: 999px;
  font-size: 16px;
  line-height: 1;
}

.client-wb-selected-chip button:focus-visible {
  outline: 3px solid rgba(172, 16, 159, 0.28);
  outline-offset: 1px;
}

.client-wb-warehouses-status {
  min-height: 18px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.client-wb-warehouses-status.is-success {
  color: #17633a;
}

.client-wb-warehouses-status.is-warning {
  padding: 9px 10px;
  color: #76520b;
  background: #fff8df;
  border: 1px solid #ead79a;
  border-radius: 8px;
}

.client-wb-warehouses-fieldset {
  display: grid;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.client-wb-warehouses-fieldset legend {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.client-wb-warehouses-list {
  display: grid;
  gap: 6px;
}

.client-wb-warehouse-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 7px 10px;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  cursor: pointer;
}

.client-wb-warehouse-row:focus-within {
  border-color: var(--accent);
  outline: 3px solid rgba(172, 16, 159, 0.2);
  outline-offset: 1px;
}

.client-wb-warehouse-row input {
  width: 20px;
  height: 20px;
  accent-color: var(--accent);
}

.client-wb-warehouse-name {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 800;
}

.client-wb-warehouse-name small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}

.client-wb-warehouse-row.is-unavailable {
  color: var(--muted);
  background: var(--surface-soft);
  cursor: not-allowed;
}

.client-wb-warehouse-unavailable {
  color: #76520b;
  font-size: 11px;
  font-weight: 900;
}

.client-wb-warehouses-empty {
  padding: 12px;
  color: var(--muted);
  background: var(--surface);
  border: 1px dashed var(--line);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
}

.client-wb-warehouses-footer strong {
  color: var(--teal-dark, #176f69);
}

.client-form-footer,
.client-form-actions {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.client-form-footer button,
.client-form-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 14px;
  color: #fff;
  background: var(--accent);
  border: 1px solid var(--accent);
  border-radius: 8px;
  font-weight: 800;
}

.client-form-footer button:hover:not(:disabled),
.client-form-actions button:hover {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
}

.client-form-footer .secondary-action-button,
.client-form-actions .secondary-action-button {
  color: var(--accent);
  background: #f8eafa;
  border-color: #edc8f1;
  box-shadow: none;
}

.client-form-footer .secondary-action-button:hover:not(:disabled),
.client-form-actions .secondary-action-button:hover:not(:disabled) {
  color: var(--accent-dark);
  background: #f2d9f5;
  border-color: #dfb2dc;
}

.client-form-footer .ghost,
.client-form-actions .ghost {
  color: var(--muted);
  background: var(--surface-soft);
  border: 1px solid var(--line);
}

.client-form-footer .ghost:hover:not(:disabled),
.client-form-actions .ghost:hover:not(:disabled) {
  color: var(--text);
  background: #e5ebf0;
  border-color: #c7d2dc;
}

.user-form {
  margin-bottom: 18px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.user-form button {
  min-height: 44px;
  padding: 0 14px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-weight: 900;
}

.user-form-status {
  grid-column: 1 / -1;
  min-height: 20px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.user-form-status.is-error {
  color: var(--danger);
}

.client-sync-status {
  grid-column: 1 / -1;
  min-height: 22px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.client-filters,
.product-filters {
  display: grid;
  gap: 14px;
  align-items: end;
}

.client-filters {
  grid-template-columns: minmax(260px, 1fr) minmax(180px, 0.42fr) 150px;
  margin-bottom: 18px;
  padding: 18px;
}

.requests-section,
.shipment-schedule-section,
.invoices-section,
.invoice-editor,
.clients-section,
.products-section,
.request-product-picker,
.plan-section {
  overflow: hidden;
}

.request-product-picker {
  grid-column: 1 / -1;
  position: relative;
  z-index: 20;
  overflow: visible;
}

.shipment-schedule-title {
  min-height: auto;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 18px;
}

.shipment-schedule-title p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 800;
}

.shipment-schedule-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 180px auto;
  align-items: end;
  gap: 14px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}

.shipment-schedule-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding-bottom: 8px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}

.shipment-schedule-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.shipment-schedule-legend i {
  width: 12px;
  height: 12px;
  border: 1px solid var(--line);
  border-radius: 4px;
}

.shipment-schedule-legend .is-open {
  background: #dff5e8;
  border-color: #9fd9b6;
}

.shipment-schedule-legend .is-closed {
  background: #fff0ed;
  border-color: #f0b8b1;
}

.shipment-schedule-legend .is-empty {
  background: #f1f5f9;
  border-color: #d8e3ed;
}

.shipment-schedule-calendar {
  padding: 18px;
}

.shipment-schedule-weekdays,
.shipment-schedule-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.shipment-schedule-weekdays {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.shipment-schedule-day {
  min-height: 92px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
  text-align: left;
  cursor: pointer;
}

.shipment-schedule-day strong {
  font-size: 18px;
  line-height: 1;
}

.shipment-schedule-day span {
  width: max-content;
  max-width: 100%;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.shipment-schedule-day small {
  color: var(--muted);
  font-weight: 800;
}

.shipment-schedule-day.is-open {
  background: #f1fbf5;
  border-color: #98d7ae;
}

.shipment-schedule-day.is-open span {
  color: #13743f;
  background: #dff5e8;
}

.shipment-schedule-day.is-closed {
  background: #fff6f4;
  border-color: #f2b7ae;
}

.shipment-schedule-day.is-closed span {
  color: #b83c3c;
  background: #ffe2de;
}

.shipment-schedule-day.is-empty-date span {
  color: #6b7b8d;
  background: #edf3f7;
}

.shipment-schedule-empty-day {
  min-height: 92px;
  border: 1px dashed transparent;
}

.shipment-schedule-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  padding: 0 18px 18px;
}

.shipment-schedule-summary button {
  min-height: 54px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 900;
}

.shipment-schedule-summary button.is-open {
  background: #f1fbf5;
  border-color: #98d7ae;
  color: #13743f;
}

.shipment-schedule-summary button.is-closed {
  background: #fff6f4;
  border-color: #f2b7ae;
  color: #b83c3c;
}

@media (max-width: 760px) {
  .shipment-schedule-toolbar {
    grid-template-columns: 1fr;
  }

  .shipment-schedule-calendar {
    padding: 12px;
  }

  .shipment-schedule-weekdays,
  .shipment-schedule-days {
    gap: 5px;
  }

  .shipment-schedule-day {
    min-height: 74px;
    padding: 7px;
  }

  .shipment-schedule-day span,
  .shipment-schedule-day small {
    font-size: 10px;
  }
}

.checkbox-row {
  display: flex;
  align-self: end;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 14px;
  color: var(--text);
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-weight: 800;
}

.checkbox-row input {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin: 0;
  padding: 0;
}

.product-search-line {
  display: grid;
  grid-template-columns: minmax(220px, 1fr);
}

.product-search-field {
  position: relative;
  z-index: 50;
}

.product-search-preview {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 120;
  display: grid;
  gap: 6px;
  max-height: 340px;
  padding: 8px;
  overflow: auto;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(17, 24, 39, 0.16);
}

.product-search-preview[hidden] {
  display: none;
}

.product-search-option,
.product-search-empty {
  width: 100%;
  min-height: 62px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 8px;
  text-align: left;
  color: var(--text);
  background: var(--surface-soft);
  border: 1px solid transparent;
  border-radius: 8px;
}

.product-search-option {
  cursor: pointer;
}

.product-search-option:hover,
.product-search-option.is-selected {
  background: #f7e9f8;
  border-color: #e6b7eb;
}

.product-search-empty {
  color: var(--muted);
  cursor: default;
}

.product-search-option strong,
.product-search-empty strong {
  display: block;
  margin-bottom: 4px;
  color: var(--text);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.product-search-option small,
.product-search-empty small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.product-preview-photo {
  flex: 0 0 52px;
}

.request-product-controls {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 110px 210px;
  align-items: end;
  gap: 12px;
  padding: 16px 18px;
  overflow: visible;
  border-bottom: 1px solid var(--line);
}

.request-product-actions {
  display: grid;
  align-content: end;
  gap: 10px;
}

.request-global-task {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 180px;
  align-items: end;
  gap: 12px;
  padding: 0 18px 16px;
  border-bottom: 1px solid var(--line);
}

.request-tz-tools {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 8px;
}

.request-tz-tools button {
  min-height: 36px;
  padding: 0 10px;
}

.request-tz-tools span {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}

.request-tz-tools span.is-error {
  color: var(--danger);
}

.request-global-task button {
  min-height: 52px;
  padding: 0 16px;
  color: var(--accent);
  background: #f8eafa;
  border: 1px solid #f1d7f5;
  border-radius: 8px;
  font-weight: 900;
}

.request-global-task button:hover {
  background: #f1d7f5;
}

.request-product-actions > button,
.request-create-actions button {
  min-height: 52px;
  padding: 0 16px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-weight: 900;
}

.request-product-actions > button:hover,
.request-create-actions button:hover {
  background: var(--accent-dark);
}

.request-plan-header,
.request-plan-row {
  display: grid;
  grid-template-columns: 64px minmax(190px, 1.15fr) minmax(130px, 0.8fr) minmax(115px, 0.65fr) 80px minmax(100px, 0.6fr) minmax(160px, 0.9fr) 100px;
  align-items: center;
  gap: 12px;
}

.request-plan-header,
.plan-header {
  min-height: 44px;
  padding: 0 18px;
  color: var(--muted);
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  font-weight: 900;
}

.request-plan-list,
.plan-list {
  display: grid;
}

.request-plan-row,
.plan-row {
  min-height: 58px;
  padding: 10px 18px;
  border-bottom: 1px solid var(--line);
}

.request-create-actions {
  grid-column: 1 / -1;
  display: grid;
}

.plan-section {
  overflow: hidden;
}

.plan-header,
.plan-row {
  display: grid;
  grid-template-columns: 64px minmax(200px, 1fr) minmax(135px, 0.75fr) 78px 78px 78px 78px 48px 48px 58px;
  align-items: center;
  gap: 12px;
}

.plan-row.is-complete {
  background: #f3fbf7;
  box-shadow: inset 4px 0 0 #2f8f5b;
}

.plan-row.is-defect-complete {
  background: #fff9ee;
  box-shadow: inset 4px 0 0 #d58a19;
}

.product-name .plan-status-badge {
  width: max-content;
  padding: 3px 8px;
  color: #227144;
  background: #e0f4e9;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
}

.product-name .plan-status-defect {
  color: #9a5b00;
  background: #fff0d0;
}

.plan-services-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.plan-services-tags em {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 7px;
  color: var(--accent);
  background: #f8eafa;
  border: 1px solid #efc9ed;
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
}

.plan-services-tags button {
  display: grid;
  width: 16px;
  height: 16px;
  place-items: center;
  color: #fff;
  background: var(--accent);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.plan-services-tags button:hover {
  background: var(--accent-dark);
}

.plan-services-tags .plan-add-service-button {
  width: 22px;
  min-width: 22px;
  height: 22px;
  color: var(--accent);
  background: #fff;
  border: 1px solid #efc9ed;
  font-size: 15px;
}

.plan-services-tags .plan-add-service-button:hover {
  color: #fff;
  background: var(--accent);
}

.plan-defect-input {
  width: 68px;
  font-size: 16px;
}

.product-print-button {
  display: grid;
  width: 40px;
  height: 38px;
  place-items: center;
  color: var(--accent);
  background: #e9f7f5;
  border: 1px solid #b8ddd8;
  border-radius: 8px;
}

.product-print-button:hover {
  background: #dcf1ee;
}

.product-print-button-signs {
  color: var(--accent-dark);
  background: #f8eafa;
  border-color: #e9b9ef;
}

.product-print-button-signs:hover {
  background: #f1d7f5;
}

.product-print-button-reprint {
  color: #5f6d7b;
  background: #f4f7fb;
  border-color: #cfdae5;
}

.product-print-button-reprint:hover:not(:disabled) {
  background: #e8eef6;
}

.product-print-button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.product-print-button svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.reprint-tools {
  display: flex;
  gap: 10px;
  margin: 16px 0 10px;
}

.reprint-tools button {
  min-height: 42px;
  padding: 0 14px;
  color: var(--accent);
  background: #f8eafa;
  border-radius: 8px;
  font-weight: 900;
}

.reprint-signs-list {
  display: grid;
  max-height: 280px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.reprint-sign-item {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px;
  border-bottom: 1px solid var(--line);
}

.reprint-sign-item:last-child {
  border-bottom: 0;
}

.reprint-sign-item input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--accent);
}

.reprint-sign-item code {
  display: block;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.reprint-sign-item small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.reprint-reason {
  margin-top: 14px;
}

.requests-header,
.request-row {
  display: grid;
  grid-template-columns:
    minmax(92px, 0.68fr) minmax(86px, 0.62fr) minmax(126px, 0.92fr) minmax(104px, 0.72fr)
    minmax(96px, 0.66fr) minmax(92px, 0.56fr) minmax(100px, 0.66fr) minmax(112px, 0.72fr)
    62px 62px minmax(112px, 0.72fr);
  align-items: center;
  gap: 9px;
}

.requests-header > *,
.request-row > span {
  min-width: 0;
}

.request-row .status-pill,
.request-row .priority-pill {
  max-width: 100%;
  min-height: 26px;
  padding: 0 8px;
  font-size: 12px;
  white-space: normal;
  line-height: 1.1;
  text-align: center;
}

.request-doc-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.request-doc-icon {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #f4f7fa;
  color: var(--muted);
}

.request-doc-icon svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.request-doc-icon.is-ready {
  color: #148360;
  border-color: #bfe9dd;
  background: #eafaf4;
}

.request-doc-icon.is-missing {
  color: #9a6a10;
  border-color: #ffe1a8;
  background: #fff6df;
}

.audit-header,
.audit-row {
  display: grid;
  grid-template-columns: minmax(140px, 0.8fr) minmax(190px, 1fr) minmax(110px, 0.6fr) minmax(130px, 0.7fr) minmax(150px, 0.8fr) minmax(220px, 1.4fr);
  align-items: center;
  gap: 12px;
}

.users-header,
.user-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(120px, 0.7fr) minmax(120px, 0.65fr) minmax(150px, 0.85fr) minmax(110px, 0.6fr) minmax(140px, 0.75fr) 120px;
  align-items: center;
  gap: 12px;
}

.services-header,
.service-row {
  display: grid;
  grid-template-columns: minmax(240px, 1.3fr) minmax(130px, 0.5fr) minmax(150px, 0.7fr) minmax(220px, 0.8fr);
  align-items: center;
  gap: 12px;
}

.shipments-header,
.shipment-row {
  display: grid;
  grid-template-columns:
    24px
    minmax(82px, 0.7fr) minmax(74px, 0.55fr) minmax(92px, 0.7fr) minmax(112px, 0.85fr)
    minmax(66px, 0.48fr) minmax(82px, 0.6fr) minmax(92px, 0.68fr) minmax(92px, 0.68fr)
    minmax(118px, 0.8fr) minmax(92px, 0.62fr);
  align-items: center;
  gap: 6px;
}

.invoices-header,
.invoice-row {
  display: grid;
  grid-template-columns: minmax(120px, 0.7fr) minmax(110px, 0.65fr) minmax(170px, 1fr) minmax(120px, 0.72fr) 70px minmax(120px, 0.7fr) minmax(150px, 0.75fr);
  align-items: center;
  gap: 12px;
}

.invoice-items-header,
.invoice-item-row {
  display: grid;
  grid-template-columns: 42px minmax(260px, 1fr) 90px 120px 100px 120px 90px;
  align-items: center;
  gap: 12px;
}

.requests-header {
  min-height: 46px;
  padding: 0 16px;
  color: var(--muted);
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  font-weight: 900;
}

.audit-header {
  min-height: 46px;
  padding: 0 16px;
  color: var(--muted);
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  font-weight: 900;
}

.audit-filters {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) 150px 150px;
  gap: 12px;
  align-items: end;
  padding: 16px;
  margin-bottom: 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.audit-filters .field-row {
  gap: 6px;
}

.audit-filters input {
  min-height: 44px;
  padding: 0 14px;
  font-size: 16px;
}

.audit-filters button {
  min-height: 44px;
  border-radius: 8px;
}

.users-header {
  min-height: 46px;
  padding: 0 16px;
  color: var(--muted);
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  font-weight: 900;
}

.services-header {
  min-height: 46px;
  padding: 0 16px;
  color: var(--muted);
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  font-weight: 900;
}

.shipments-header {
  min-height: 46px;
  padding: 0 12px;
  color: var(--muted);
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
  font-size: 12px;
  font-weight: 900;
}

.shipments-header > span {
  min-width: 0;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.shipment-bulk-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.shipment-bulk-panel[hidden] {
  display: none;
}

.shipment-select-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 12px;
  color: var(--text);
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.shipment-select-all.in-header {
  min-height: auto;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.shipment-select-all.in-header span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.shipment-row-checkbox,
.shipment-select-all input {
  width: 20px;
  height: 20px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  display: inline-grid;
  place-items: center;
  flex: 0 0 20px;
  background: #fff;
  border: 2px solid #d7e2ec;
  border-radius: 3px;
  box-shadow: inset 0 0 0 2px #fff;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.shipment-row-checkbox,
.shipment-select-all.in-header input {
  margin-left: 3px;
}

.shipment-row-checkbox:hover,
.shipment-select-all input:hover {
  border-color: var(--accent);
}

.shipment-row-checkbox:checked,
.shipment-select-all input:checked {
  background: var(--accent);
  border-color: var(--accent);
}

.shipment-row-checkbox:checked::after,
.shipment-select-all input:checked::after {
  content: "";
  width: 6px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) translate(-1px, -1px);
}

.shipment-select-all input:indeterminate {
  background: var(--accent);
  border-color: var(--accent);
}

.shipment-select-all input:indeterminate::after {
  content: "";
  width: 10px;
  height: 2px;
  background: #fff;
  border-radius: 999px;
}

.shipment-bulk-panel > span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}

.shipment-bulk-panel select {
  width: auto;
  min-width: 190px;
  min-height: 36px;
  padding: 0 36px 0 12px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.shipment-bulk-panel .primary-action-button {
  width: auto;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 13px;
}

.invoices-header,
.invoice-items-header {
  min-height: 46px;
  padding: 0 16px;
  color: var(--muted);
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  font-weight: 900;
}

.sort-button {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 5px;
  color: inherit;
  background: transparent;
  border-radius: 6px;
  font-weight: inherit;
  line-height: 1.2;
  text-align: left;
}

.sort-button:hover,
.sort-button.is-active {
  color: var(--accent);
}

.sort-indicator {
  width: 12px;
  flex: 0 0 12px;
  font-size: 14px;
  line-height: 1;
}

.requests-list {
  display: grid;
}

.audit-list {
  display: grid;
}

.audit-loading {
  padding: 28px 16px;
  color: var(--muted);
  font-weight: 800;
  text-align: center;
}

.audit-row {
  min-height: 58px;
  padding: 10px 16px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.audit-row:last-child {
  border-bottom: 0;
}

.audit-row small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.audit-action {
  font-weight: 900;
}

.audit-muted {
  color: var(--muted);
}

.audit-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 14px 16px;
  background: #fff;
}

.audit-pagination span {
  color: var(--muted);
  font-weight: 900;
}

.audit-pagination button {
  min-height: 38px;
  padding: 0 16px;
  border-radius: 8px;
}

.users-list {
  display: grid;
}

.services-list {
  display: grid;
}

.service-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 130px;
  align-items: end;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.service-filters .field-row {
  margin: 0;
}

.invoices-list,
.invoice-items-list {
  display: grid;
}

.invoice-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 0.45fr) minmax(170px, 0.42fr) 130px;
  align-items: end;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.shipment-filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 0.7fr)) repeat(2, minmax(180px, 1fr)) 130px;
  align-items: end;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.shipment-filters .field-row {
  gap: 6px;
}

.shipment-filters input,
.shipment-filters select {
  min-height: 44px;
}

.invoice-debt-filter {
  min-height: 44px;
}

.invoice-debt-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 180px));
  gap: 10px;
  padding: 12px 16px;
  background: #fbfcfd;
  border-bottom: 1px solid var(--line);
}

.invoice-debt-summary div {
  padding: 10px 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.invoice-debt-summary span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.invoice-debt-summary strong {
  font-size: 20px;
}

.invoice-editor {
  margin-top: 18px;
}

.invoice-editor-heading {
  min-height: 58px;
  background: #fff;
}

.invoice-editor-heading h2 {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  color: #ac109f;
}

.invoice-status-field {
  display: grid;
  min-width: 160px;
  gap: 6px;
}

.invoice-status-field select {
  height: 38px;
  font-weight: 800;
}

.invoice-document-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.invoice-document-actions .section-action-button,
.invoice-document-actions .secondary-action-button {
  min-height: 42px;
  padding: 0 14px;
  white-space: nowrap;
}

.invoice-document-actions .secondary-action-button {
  color: var(--accent);
  background: #f8eafa;
  border: 1px solid #f1d7f5;
}

.invoice-document-actions button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.invoice-title-token,
.invoice-request-link {
  padding: 0;
  color: #ac109f;
  background: transparent !important;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: inherit;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  user-select: none;
  -webkit-user-select: none;
}

.invoice-request-link:hover {
  color: #ac109f;
  text-decoration: none;
}

.section-subtitle {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.invoice-service-form {
  display: grid;
  grid-template-columns: 42px minmax(260px, 1fr) 90px 120px 100px 120px 90px;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background: #fbfcfd;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.invoice-service-picker {
  position: relative;
  grid-column: 2;
}

#invoiceServiceQuantityInput {
  grid-column: 3;
}

#invoiceServicePriceInput {
  grid-column: 4;
}

#invoiceServiceAdjustmentInput {
  grid-column: 5;
}

.invoice-service-form button[type="submit"] {
  grid-column: 7;
}

.invoice-service-form input {
  height: 34px;
  font-size: 13px;
}

.invoice-service-dropdown {
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  right: 0;
  left: 0;
  display: grid;
  max-height: 260px;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.16);
}

.invoice-service-dropdown[hidden] {
  display: none;
}

.invoice-service-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 12px;
  min-height: 40px;
  align-items: center;
  padding: 8px 12px;
  color: var(--text);
  background: #fff;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  text-align: left;
}

.invoice-service-option:last-child {
  border-bottom: 0;
}

.invoice-service-option:hover {
  background: var(--surface-soft);
}

.invoice-service-option span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.invoice-service-option strong {
  color: var(--accent);
}

.invoice-service-form button {
  min-height: 34px;
  padding: 0 12px;
  color: var(--text);
  background: #f3f4f6;
  border: 1px solid #cbd6e2;
  border-radius: 8px;
  font-weight: 900;
}

.invoice-bulk-adjustment {
  display: grid;
  grid-template-columns: 42px minmax(260px, 1fr) 90px 120px 100px 120px 90px;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.invoice-bulk-adjustment span {
  grid-column: 2 / 5;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}

.invoice-bulk-adjustment input {
  grid-column: 5;
  height: 34px;
  font-size: 13px;
}

.invoice-bulk-adjustment button {
  grid-column: 6 / 8;
  min-height: 34px;
  padding: 0 12px;
  color: var(--accent);
  background: #f8eafa;
  border: 1px solid #f1d7f5;
  border-radius: 8px;
  font-weight: 900;
}

.invoice-bulk-adjustment button:hover {
  background: #f1d7f5;
}

.invoice-line-input {
  max-width: 96px;
  height: 34px;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 800;
}

.invoice-row,
.invoice-item-row {
  min-height: 62px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
}

.invoice-row.is-selected {
  box-shadow: inset 4px 0 0 var(--accent);
}

.invoice-row:last-child,
.invoice-item-row:last-child {
  border-bottom: 0;
}

.invoice-number,
.invoice-total,
.invoice-item-name,
.invoice-item-total {
  font-weight: 900;
}

.invoice-index {
  color: var(--muted);
  text-align: center;
}

.invoice-service-order { display: flex; align-items: center; gap: 10px; min-width: 0; }
.invoice-order-controls { display: inline-flex; flex-shrink: 0; gap: 2px; }
.invoice-order-button { width: 26px; min-width: 26px; height: 32px; padding: 0; border: 1px solid #ead5eb; border-radius: 6px; background: #faf3fb; color: #a109a1; font-size: 16px; cursor: pointer; }
.invoice-order-button:disabled { opacity: .3; cursor: default; }
.invoice-order-button:focus-visible { outline: 2px solid #ae079f; outline-offset: 2px; }
.invoice-drag-handle { cursor: grab; touch-action: none; user-select: none; }
.invoice-dragging { opacity: .5; }
.invoice-drop-before { box-shadow: inset 0 3px #ae079f; }
.invoice-drop-after { box-shadow: inset 0 -3px #ae079f; }
@media (max-width: 700px) { .invoice-order-button { width: 44px; height: 44px; } .invoice-service-order { flex-wrap: wrap; } }

.invoice-bottom {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 360px;
  gap: 24px;
  padding: 16px;
  background: #fff;
}

.invoice-bottom textarea {
  min-height: 96px;
}

.invoice-summary {
  display: grid;
  gap: 8px;
  align-content: start;
  font-weight: 800;
}

.invoice-summary label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text);
  font-size: 13px;
}

.invoice-summary input {
  width: 16px;
  height: 16px;
  margin: 0;
}

.invoice-summary div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.invoice-grand-total {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  font-size: 18px;
}

.invoice-actions .secondary-action-button {
  min-height: 34px;
  padding: 0 10px;
  color: var(--accent);
  background: #f8eafa;
  border: 1px solid #f1d7f5;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.danger-inline-button {
  min-height: 34px;
  padding: 0 10px;
  color: var(--danger);
  background: #fff3f2;
  border: 1px solid #f1cac7;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.user-row {
  min-height: 66px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
}

.user-row:last-child {
  border-bottom: 0;
}

.service-row {
  min-height: 62px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
}

.service-row:last-child {
  border-bottom: 0;
}

.service-name,
.service-price {
  font-weight: 900;
}

.service-muted {
  color: var(--muted);
}

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

.user-login {
  font-weight: 900;
  overflow-wrap: anywhere;
}

.user-active-toggle {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  color: var(--text);
  font-size: 14px;
}

.user-active-toggle input {
  width: 18px;
  height: 18px;
}

.clients-header,
.client-row {
  display: grid;
  grid-template-columns:
    minmax(180px, 1fr) minmax(140px, 0.8fr) minmax(110px, 0.65fr) minmax(170px, 0.9fr)
    80px minmax(150px, 0.8fr) minmax(250px, 1fr);
  align-items: center;
  gap: 12px;
}

.clients-header,
.products-header {
  min-height: 52px;
  padding: 0 18px;
  color: var(--muted);
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  font-weight: 900;
}

.clients-list,
.products-list {
  display: grid;
}

.client-row {
  min-height: 64px;
  padding: 12px 18px;
  border-bottom: 1px solid var(--line);
}

.client-row.is-active {
  background: #f3faf9;
  box-shadow: inset 4px 0 0 var(--accent);
}

.client-portal .client-row {
  display: grid;
  grid-template-columns: minmax(110px, 0.7fr) minmax(180px, 1fr) minmax(120px, 0.7fr) minmax(120px, 0.6fr);
  gap: 12px;
  align-items: center;
  min-height: 64px;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid #e7edf3;
  border-radius: 16px;
}

.client-portal .client-dashboard-grid [data-client-request].client-row {
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, .8fr) auto;
}

.client-portal .client-dashboard-grid [data-client-request].client-row > * {
  min-width: 0;
  overflow-wrap: anywhere;
}

.client-portal .client-dashboard-grid [data-client-request].client-row > :last-child {
  justify-self: end;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .client-portal .client-dashboard-grid [data-client-request].client-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

.client-portal .client-row.is-active {
  background: #f8fafc;
  box-shadow: none;
}

.client-portal .client-shipment-row {
  grid-template-columns:
    minmax(112px, 0.72fr) minmax(108px, 0.72fr) minmax(132px, 0.74fr)
    minmax(150px, 1fr) minmax(150px, 0.9fr) max-content;
  min-width: 0;
}

.client-shipment-row > * {
  min-width: 0;
}

.client-shipment-row span {
  overflow-wrap: anywhere;
}

.client-shipment-places {
  display: grid;
  gap: 2px;
}

.client-shipment-places strong {
  font-size: 13px;
}

.client-shipment-places span,
.client-shipment-places small {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}

.client-download-button {
  justify-self: end;
  min-height: 38px;
  white-space: nowrap;
}

.client-product-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 22px;
}

.client-storage-card {
  margin-bottom: 22px;
  padding: 22px;
}

.client-storage-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.client-storage-head h2,
.client-storage-head p {
  margin: 0;
}

.client-storage-head p {
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

.client-storage-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.client-storage-summary > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 16px;
  background: #f7f8fb;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

.client-storage-summary small,
.client-storage-summary span,
.client-storage-batch small {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.client-storage-summary strong {
  font-size: 21px;
}

.client-storage-warning,
.client-storage-error {
  margin-top: 14px;
  padding: 12px 14px;
  color: #9a6700;
  background: #fff7dd;
  border: 1px solid #f4d77d;
  border-radius: 8px;
  font-weight: 800;
}

.client-storage-batches {
  display: grid;
  margin-top: 18px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
}

.client-storage-batch {
  display: grid;
  grid-template-columns: 50px minmax(170px, 1.4fr) repeat(4, minmax(110px, 0.8fr));
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border-bottom: 1px solid #e2e8f0;
}

.client-storage-batch:last-child { border-bottom: 0; }
.client-storage-batch > span { display: grid; gap: 3px; min-width: 0; }
.client-storage-more { margin-top: 14px; }

@media (max-width: 1100px) {
  .client-storage-batch {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .client-storage-batch > span:nth-child(n + 3) {
    grid-column: 2;
    grid-template-columns: minmax(110px, 0.7fr) minmax(0, 1.3fr);
    align-items: baseline;
    column-gap: 10px;
  }

  .client-storage-batch > span:nth-child(n + 3) small:last-child {
    grid-column: 2;
  }
}

.client-products-card {
  overflow: hidden;
  padding: 0;
}

.client-products-head,
.client-products-toolbar,
.client-products-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.client-products-head,
.client-products-toolbar {
  justify-content: space-between;
  padding: 22px;
}

.client-products-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.client-products-head h2,
.client-products-head p {
  margin: 0;
}

.client-products-head p,
.client-products-toolbar span,
.client-product-sync-status {
  color: #64748b;
  font-size: 13px;
  font-weight: 900;
}

.client-products-toolbar {
  padding-top: 0;
}

.client-products-toolbar input {
  width: min(520px, 100%);
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid #dce5ee;
  border-radius: 16px;
  font: inherit;
  font-weight: 800;
}

.client-product-sync-status {
  padding: 0 22px 18px;
}

.client-products-header,
.client-product-row {
  display: grid;
  grid-template-columns: 60px minmax(150px, 1.35fr) minmax(110px, 0.75fr) minmax(112px, 0.8fr) minmax(104px, 0.7fr) minmax(108px, 0.72fr) minmax(104px, 0.7fr) 84px;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 14px 18px;
}

.client-products-header.has-marketplace-stocks,
.client-product-row.has-marketplace-stocks {
  grid-template-columns: 60px minmax(134px, 1.12fr) minmax(128px, 0.76fr) minmax(102px, 0.66fr) minmax(96px, 0.58fr) minmax(108px, 0.62fr) minmax(88px, 0.52fr) minmax(132px, 0.82fr) 72px;
}

.client-products-header {
  color: #64748b;
  background: #edf4f8;
  border-top: 1px solid #dce5ee;
  border-bottom: 1px solid #dce5ee;
  font-size: 13px;
  font-weight: 900;
}

.client-products-list {
  display: grid;
}

.client-product-row {
  min-width: 0;
  border-bottom: 1px solid #e2e8f0;
}

.client-product-row:last-child {
  border-bottom: 0;
}

.client-product-row > * {
  min-width: 0;
}

.client-product-row.has-marketplace-stocks > .product-mono {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  font-size: 13px;
  letter-spacing: 0;
}

.client-product-row.has-marketplace-stocks > span:nth-child(4) strong {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.15;
}

.client-product-row.has-marketplace-stocks > span:nth-child(5) strong {
  display: block;
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.15;
}

.client-product-row small,
.client-product-stock small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}

.client-product-stock strong {
  font-size: 22px;
}

.client-product-marketplace-stocks {
  display: grid;
  gap: 6px;
}

.client-marketplace-stock {
  display: block;
  min-width: 0;
  padding: 6px 8px;
  border: 1px solid #dce5ee;
  border-radius: 10px;
  background: #f8fafc;
}

.client-marketplace-stock b {
  display: block;
  color: #ac109f;
  font-size: 12px;
  line-height: 1.15;
}

.client-marketplace-stock small {
  display: block;
  margin-top: 2px;
  overflow-wrap: anywhere;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
}

.client-marketplace-stock.is-empty {
  background: #fffaf0;
  border-color: #fde7b3;
}

.client-product-signs {
  display: flex;
  align-items: center;
  gap: 10px;
}

.client-portal .client-integration-row {
  grid-template-columns: minmax(0, 1fr) auto;
  width: 100%;
  min-width: 0;
  cursor: pointer;
  color: inherit;
  font: inherit;
  text-align: left;
}

.client-portal .client-integration-row > * {
  min-width: 0;
}

.client-portal .client-integration-row > span:not(.client-status) {
  grid-column: 1 / -1;
  grid-row: 2;
}

.client-portal .client-integration-row strong,
.client-portal .client-integration-row span {
  overflow-wrap: anywhere;
}

.client-portal .client-integration-row .client-status {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  max-width: 100%;
  white-space: normal;
  text-align: center;
}

.client-modal-backdrop {
  position: fixed;
  z-index: 80;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.32);
}

.client-integration-modal {
  display: grid;
  width: min(460px, 100%);
  gap: 16px;
  padding: 22px;
  background: #fff;
  border: 1px solid #dce5ee;
  border-radius: 24px;
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.22);
}

.client-modal-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.client-modal-head span,
.client-integration-hint {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}

.client-modal-head h2 {
  margin: 2px 0 0;
  color: #0f172a;
  font-size: 28px;
}

.client-integration-modal .field-row {
  margin: 0;
}

.client-integration-modal input {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  color: #0f172a;
  background: #fff;
  border: 1px solid #dce5ee;
  border-radius: 14px;
  font: inherit;
  font-weight: 800;
}

.client-integration-hint {
  margin: -4px 0 0;
}

.client-integration-error {
  min-height: 18px;
  color: #b23832;
  font-size: 13px;
  font-weight: 900;
}

.client-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.client-portal > .client-main {
  min-width: 0;
  padding: 30px;
  font-weight: 400;
}

.client-main {
  font-weight: 900;
}

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

.integration-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.integration-pill {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 0 9px;
  color: var(--muted);
  background: var(--surface-soft);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.integration-pill.is-active {
  color: #2f6b3b;
  background: #e9f6ec;
}

.products-section {
  margin-top: 18px;
}

.warehouse-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.warehouse-current-receipt-stat {
  background: #faf2fc;
  border-color: #ecd4f1;
}

/* Receiving workspace: current receipt, history and stock share the same data. */
#warehouseReceivingView {
  --intake-border: #dce5ef;
  --intake-lilac: #f4edfc;
  --intake-ink: #111c3c;
}
#warehouseReceivingView [hidden] { display: none !important; }
#warehousePage { width: calc(100% - 64px); max-width: 1480px; }
#warehousePage > .topbar { margin-bottom: 8px; min-height: 60px; align-items: center; }
#warehousePage > .topbar h1 { font-size: 22px; margin: 0; }
#warehousePage > .topbar .eyebrow { font-size: 11px; margin-bottom: 4px; }
#warehousePage .warehouse-workflow-tabs { display: flex; gap: 8px; flex-wrap: wrap; padding: 0; margin: 0; background: none; border: 0; }
#warehousePage .warehouse-workflow-tabs button { border: 0; border-radius: 5px; padding: 8px 12px; font-size: 12px; color: #63748b; background: transparent; }
#warehousePage .warehouse-workflow-tabs button.is-active { background: white; color: #172540; }
.intake-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 16px 0; }
.intake-heading h2 { margin: 0 0 6px; font-size: 30px; color: var(--intake-ink); }
.intake-heading p { margin: 0; color: #61718d; font-size: 16px; }
.intake-tabs { display: flex; align-self: end; border-bottom: 1px solid var(--intake-border); }
.intake-tabs button { border: 0; border-radius: 0; background: transparent; color: #52617a; padding: 14px 18px; font-size: 14px; box-shadow: none; }
.intake-tabs button[aria-pressed="true"] { color: #b000b5; border-bottom: 3px solid #b000b5; }
#warehouseReceivingView .warehouse-stats .stats { min-height: 86px; box-shadow: none; border-color: var(--intake-border); padding: 16px 20px; text-align: left; }
#warehouseReceivingView .warehouse-stats .stats strong { font-size: 28px; color: var(--intake-ink); }
#warehouseReceivingView .warehouse-stats .stats span { font-size: 13px; }
#warehouseReceivingView .warehouse-current-receipt-stat { background: var(--intake-lilac); border-color: #e7d8f6; }
#warehouseReceivingView .warehouse-grid { grid-template-columns: minmax(310px, .56fr) minmax(0, 1fr); gap: 14px; align-items: start; }
#warehouseReceiveForm { position: sticky; top: 76px; box-shadow: none; border-color: var(--intake-border); border-radius: 10px; }
#warehouseReceiveForm .compact-title { background: white; border: 0; padding: 20px 20px 4px; gap: 12px; }
#warehouseReceiveForm .compact-title h2 { font-size: 23px; color: var(--intake-ink); }
#warehouseReceiveForm .warehouse-receive-fields { grid-template-columns: 1fr; padding: 12px 20px; gap: 12px; }
#warehouseReceiveForm .field-row > label { font-size: 14px; font-weight: 500; color: #263854; }
#warehouseReceiveForm input, #warehouseReceiveForm select { font-size: 15px; min-height: 42px; border-radius: 6px; }
#warehouseReceiveForm .warehouse-box-field { background: var(--intake-lilac); padding: 14px; border: 1px solid #e9dcfa; border-radius: 7px; }
#warehouseReceiveForm .box-field { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
#warehouseBoxNumberInput { grid-column: 1 / -1; background: transparent; border: 0; padding: 0; color: var(--intake-ink); font-weight: 750; font-size: 22px !important; min-height: 32px !important; }
#warehouseReceiveForm .box-field button { width: auto; min-width: 0; height: auto; padding: 10px 6px; background: #fcf9ff; color: #561282; border: 1px solid #d5b1ee; font-size: 12px; border-radius: 6px; gap: 6px; white-space: normal; }
#warehouseBoxLabelStatus:empty { display: none; }
#startFbsReturnButton { background: transparent; border: 1px solid #e5d6ee; border-radius: 6px; color: #87318f; padding: 6px 8px; font-size: 11px; }
#warehouseReceiveForm .warehouse-barcode-field { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
#warehouseReceiveForm .warehouse-barcode-field > label:nth-child(2) { display: flex; align-items: center; gap: 6px; }
#warehouseReceiveForm .warehouse-barcode-field input[type="checkbox"] { min-height: 0; }
#warehouseBarcodeInput { grid-column: 1 / -1; border: 2px solid #b000b5; min-height: 50px !important; }
#warehouseReceiveForm .warehouse-product-preview { margin: 0 20px; background: white; border-color: var(--intake-border); border-radius: 6px; }
#warehouseReceiveForm .warehouse-actions { display: grid; grid-template-columns: 1fr; padding: 14px 20px 20px; gap: 12px; }
#finishWarehouseReceiptButton { min-height: 44px; }
#clearWarehouseReceiptButton { background: transparent; color: #bc3038; border: 0; border-top: 1px solid var(--intake-border); border-radius: 0; padding-top: 14px; }
#warehouseReceivingView .warehouse-items-section { min-width: 0; padding: 20px 16px; border-radius: 10px; border-color: var(--intake-border); box-shadow: none; }
.intake-items-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.intake-items-title h2 { margin: 0; font-size: 23px; color: var(--intake-ink); }
#warehouseIntakeSearch { width: 260px; min-width: 0; max-width: 45%; min-height: 42px; font-size: 13px; }
#warehouseItemsList { display: grid; gap: 12px; }
.intake-box { border: 1px solid var(--intake-border); border-radius: 7px; overflow: hidden; }
.intake-box summary { display: flex; align-items: center; gap: 12px; padding: 17px 16px; cursor: pointer; list-style: none; color: var(--intake-ink); }
.intake-box summary::-webkit-details-marker { display: none; }
.intake-box summary::before { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); margin-right: 8px; flex-shrink: 0; }
.intake-box[open] summary { background: var(--intake-lilac); }
.intake-box[open] summary::before { transform: rotate(45deg); }
.intake-current-badge { background: #b000b5; color: white; padding: 4px 8px; border-radius: 5px; font-size: 11px; }
.intake-box-total { margin-left: auto; font-weight: 600; font-size: 13px; white-space: nowrap; }
.intake-box-columns { display: grid; grid-template-columns: minmax(0, 1fr) 135px 142px; padding: 12px 50px 12px 14px; gap: 12px; background: #f8faff; font-size: 12px; color: #53627a; }
#warehouseItemsList .warehouse-item-row { display: grid; grid-template-columns: 42px minmax(100px, 1fr) 135px 142px 36px; gap: 10px; padding: 14px; align-items: center; border: 0; border-top: 1px solid var(--intake-border); }
#warehouseItemsList .product-photo { width: 42px; height: 56px; }
#warehouseItemsList .product-name { font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; font-weight: 500; }
#warehouseItemsList .product-name small { font-size: 11px; color: #697b96; }
#warehouseItemsList .product-mono { font-size: 13px; font-weight: 400; overflow-wrap: anywhere; }
#warehouseItemsList .warehouse-item-box, #warehouseItemsList .request-muted { display: none; }
.intake-quantity { display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; align-items: stretch; }
.intake-quantity button { border: 1px solid #ccd9eb; background: #f8faff; color: #182a4b; padding: 6px 0; min-width: 0; border-radius: 0; font-size: 18px; }
.intake-quantity button:first-child { border-radius: 5px 0 0 5px; }
.intake-quantity button:last-child { border-radius: 0 5px 5px 0; }
#warehouseItemsList .intake-quantity input { width: 100%; min-width: 0; border-radius: 0; padding: 8px 1px; text-align: center; font-size: 14px; appearance: textfield; }
.intake-quantity input::-webkit-inner-spin-button { appearance: none; }
#warehouseItemsList .delete-item-button { font-size: 0; min-width: 30px; width: 30px; height: 32px; background: transparent; border: 0; padding: 6px; }
#warehouseItemsList .delete-item-button::after { content: ""; display: block; width: 14px; height: 16px; margin: auto; background: #d33045; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M9 6V3h6v3M5 6l1 15h12l1-15M10 10v7M14 10v7'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
.intake-hint { font-size: 12px; color: #6c7f99; margin: 20px 0 0; line-height: 1.5; }
.intake-more-boxes { border: 1px dashed #ccd9eb; border-radius: 6px; background: white; color: #2467ba; padding: 16px; font-size: 14px; }
.intake-scan-success { color: #178047 !important; font-weight: 600; }
#warehouseReceiveForm .warehouse-barcode-field label:has(> [data-intake-sound]) { order: 0; }
.intake-box > .intake-hint { margin: 16px; }
@media (max-width: 1150px) {
  #warehouseReceivingView .warehouse-grid { grid-template-columns: 310px minmax(0, 1fr); }
  #warehouseItemsList .warehouse-item-row { grid-template-columns: 36px minmax(0, 1fr) 112px 28px; gap: 8px; }
  #warehouseItemsList .product-mono { grid-column: 2; grid-row: 2; }
  #warehouseItemsList .intake-quantity { grid-column: 3; grid-row: 1 / 3; }
  #warehouseItemsList .delete-item-button { grid-column: 4; grid-row: 1 / 3; }
  .intake-box-columns { display: none; }
  .intake-items-title { flex-wrap: wrap; }
  #warehouseIntakeSearch { max-width: 100%; width: 100%; }
}
@media (max-width: 800px) {
  #warehousePage { width: calc(100% - 24px); }
  .intake-heading { align-items: stretch; flex-direction: column; gap: 14px; }
  .intake-tabs { align-self: stretch; overflow-x: auto; }
  .intake-tabs button { flex: 1; padding: 12px 8px; font-size: 12px; white-space: nowrap; }
  #warehouseReceivingView .warehouse-grid { grid-template-columns: minmax(0, 1fr); }
  #warehouseReceiveForm { position: static; }
  #warehouseReceivingView .warehouse-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #warehouseReceivingView .warehouse-stats .stats { padding: 12px; min-height: 74px; }
  .intake-box summary { gap: 6px; padding: 14px 10px; flex-wrap: wrap; font-size: 13px; }
  .intake-box-total { font-size: 11px; }
  .intake-current-badge { font-size: 10px; }
}

.warehouse-grid {
  display: grid;
  grid-template-columns: minmax(360px, 0.9fr) minmax(420px, 1.1fr);
  gap: 16px;
  align-items: start;
  margin-bottom: 16px;
}

.warehouse-receive-panel {
  grid-template-columns: 1fr;
  gap: 0;
  align-items: stretch;
  padding: 0;
  overflow: hidden;
}

.warehouse-receive-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 18px;
}

.warehouse-box-field,
.warehouse-barcode-field {
  grid-column: 1 / -1;
}

.warehouse-product-preview {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 0 18px;
  padding: 12px;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.warehouse-product-preview.has-product {
  background: #f3faf9;
  border-color: #b8ddd8;
}

.warehouse-product-preview strong {
  display: block;
  font-weight: 900;
}

.warehouse-product-preview small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-weight: 800;
}

.warehouse-actions {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 10px;
  padding: 18px;
}

.warehouse-actions button {
  min-height: 50px;
  padding: 0 16px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-weight: 900;
}

.warehouse-actions .ghost {
  color: var(--danger);
  background: #fff4f2;
  border: 1px solid #f1c4bf;
}

.warehouse-items-section,
.warehouse-stock-section,
.warehouse-receipts-section,
.warehouse-receipt-detail-section {
  overflow: hidden;
}

.warehouse-stock-section,
.warehouse-receipts-section,
.warehouse-receipt-detail-section {
  margin-top: 16px;
}

.warehouse-stock-title {
  gap: 12px;
}

.warehouse-stock-title-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

.warehouse-stock-title-actions .section-action-button {
  min-height: 36px;
  padding: 0 12px;
}

.warehouse-stock-content[hidden] {
  display: none;
}

.warehouse-stock-import-status {
  min-height: 20px;
  padding: 0 18px 14px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.warehouse-stock-import-status:empty {
  display: none;
}

.warehouse-stock-import-status.is-error {
  color: var(--danger);
}

.warehouse-items-header,
.warehouse-item-row {
  display: grid;
  grid-template-columns: 64px minmax(180px, 1fr) minmax(130px, 0.7fr) 80px minmax(130px, 0.7fr) 90px;
  align-items: center;
  gap: 12px;
}

.warehouse-item-box {
  display: block;
  width: fit-content;
  margin-top: 4px;
  padding: 2px 7px;
  border: 1px solid #e6b8df;
  border-radius: 999px;
  color: #8f087f;
  background: #fff6fd;
  font-weight: 700;
}

.warehouse-stock-header,
.warehouse-stock-row {
  display: grid;
  grid-template-columns: 64px minmax(190px, 1.1fr) minmax(150px, 0.9fr) minmax(130px, 0.75fr) 80px 80px 90px minmax(130px, 0.8fr);
  align-items: center;
  gap: 12px;
}

.warehouse-storage-header,
.warehouse-storage-row {
  display: grid;
  grid-template-columns:
    minmax(250px, 1.35fr)
    minmax(130px, 0.7fr)
    72px
    104px
    78px
    minmax(300px, 1.25fr)
    78px
    108px;
  align-items: center;
  gap: 10px;
}

.warehouse-accrual-header,
.warehouse-accrual-row {
  display: grid;
  grid-template-columns: 150px minmax(220px, 1.2fr) minmax(130px, 0.75fr) 70px 90px minmax(170px, 0.9fr) 90px 110px;
  align-items: center;
  gap: 10px;
}

.warehouse-receipts-header,
.warehouse-receipt-row {
  display: grid;
  grid-template-columns: minmax(120px, 0.7fr) minmax(180px, 1fr) minmax(120px, 0.7fr) 90px minmax(120px, 0.75fr) minmax(140px, 0.8fr);
  align-items: center;
  gap: 12px;
}

.warehouse-receipt-detail-header,
.warehouse-receipt-detail-row {
  display: grid;
  grid-template-columns: 64px minmax(220px, 1fr) minmax(150px, 0.8fr) 90px minmax(130px, 0.8fr);
  align-items: center;
  gap: 12px;
}

.warehouse-items-header,
.warehouse-stock-header,
.warehouse-storage-header,
.warehouse-accrual-header,
.warehouse-receipts-header,
.warehouse-receipt-detail-header {
  min-height: 46px;
  padding: 0 18px;
  color: var(--muted);
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  font-weight: 900;
}

.warehouse-items-list,
.warehouse-stock-list,
.warehouse-storage-list,
.warehouse-accrual-list,
.warehouse-receipts-list,
.warehouse-receipt-detail-list {
  display: grid;
}

.warehouse-storage-row {
  min-height: 84px;
  padding: 12px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}

.warehouse-accruals {
  border-top: 1px solid var(--line);
}

.warehouse-accruals-title,
.warehouse-accrual-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
}

.warehouse-accruals-title h3 {
  margin: 0;
}

.warehouse-accruals-title small,
.warehouse-accrual-row small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.warehouse-accrual-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr)) repeat(3, auto);
  align-items: end;
  gap: 12px;
  padding: 14px 18px 8px;
  border-top: 1px solid var(--line);
}

.warehouse-accrual-status {
  min-height: 20px;
  padding: 0 18px;
  color: var(--success);
  font-size: 12px;
  font-weight: 800;
}

.warehouse-accrual-status.is-error {
  color: var(--danger);
}

.warehouse-accrual-summary {
  justify-content: flex-start;
  padding-top: 8px;
  font-size: 13px;
}

.warehouse-accrual-row {
  min-height: 72px;
  padding: 10px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  font-size: 13px;
}

.warehouse-accrual-invoice-state {
  display: grid;
  gap: 3px;
}

.warehouse-accrual-invoice-state .is-invoiced {
  color: var(--success);
}

.warehouse-accrual-invoice-state .is-unbilled {
  color: var(--muted);
}

.warehouse-storage-row:last-child {
  border-bottom: 0;
}

.warehouse-storage-row.is-missing-dimensions {
  box-shadow: inset 3px 0 0 #d99518;
  background: #fffdf7;
}

.warehouse-storage-warning {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 18px 14px;
  padding: 10px 12px;
  border: 1px solid #efd493;
  border-radius: 6px;
  color: #714b00;
  background: #fff9e8;
  font-size: 13px;
}

.warehouse-storage-warning > div {
  display: grid;
  flex: 1 1 auto;
  gap: 2px;
}

.warehouse-missing-dimensions {
  margin: 0 18px 16px;
  overflow: hidden;
  border: 1px solid #efd493;
  border-radius: 6px;
  background: #fffdf7;
}

.warehouse-missing-dimensions-title,
.warehouse-missing-dimensions-search,
.warehouse-missing-dimensions-row {
  display: grid;
  align-items: center;
  gap: 12px;
}

.warehouse-missing-dimensions-title {
  grid-template-columns: minmax(0, 1fr) auto auto;
  padding: 14px 16px;
  border-bottom: 1px solid #f2dfae;
}

.warehouse-auto-dimensions-button {
  white-space: nowrap;
}

.warehouse-missing-dimensions-title h3 {
  margin: 0;
  font-size: 17px;
}

.warehouse-missing-dimensions-title small {
  color: var(--muted);
}

.warehouse-missing-dimensions-title > span {
  min-width: 34px;
  padding: 6px 9px;
  border-radius: 6px;
  color: #fff;
  background: #d99518;
  text-align: center;
  font-weight: 900;
}

.warehouse-missing-dimensions-search {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 12px 16px;
  border-bottom: 1px solid #f2dfae;
}

.warehouse-missing-dimensions-search input {
  min-width: 0;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font: inherit;
}

.warehouse-missing-dimensions-row {
  grid-template-columns: minmax(220px, 1.2fr) minmax(140px, .7fr) minmax(430px, 1.5fr);
  padding: 12px 16px;
  border-bottom: 1px solid #f2dfae;
}

.warehouse-missing-dimensions-row:last-child {
  border-bottom: 0;
}

.warehouse-missing-client {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 900px) {
  .warehouse-storage-warning {
    align-items: stretch;
    flex-direction: column;
  }

  .warehouse-missing-dimensions-row {
    grid-template-columns: 1fr;
  }

  .warehouse-missing-dimensions-title {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .warehouse-auto-dimensions-button {
    grid-column: 1 / -1;
  }

  .warehouse-missing-dimensions-row .storage-dimension-inputs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .warehouse-missing-dimensions-row .storage-dimensions-save {
    grid-column: 1 / -1;
  }
}

.warehouse-storage-warning[hidden] {
  display: none;
}

.warehouse-storage-warning strong {
  flex: 0 0 auto;
}

.warehouse-storage-row small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.warehouse-storage-product {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.warehouse-storage-product .product-photo {
  width: 52px;
  height: 52px;
}

.warehouse-storage-product .product-name {
  min-width: 0;
  overflow-wrap: anywhere;
}

.warehouse-storage-dimensions {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.storage-source {
  width: max-content;
  max-width: 100%;
  padding: 3px 7px;
  border-radius: 6px;
  color: #925d00;
  background: #fff3cf;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.storage-source.fulfillment {
  color: #187448;
  background: #e5f7ed;
}

.storage-source.marketplace {
  color: #315f8f;
  background: #e8f2ff;
}

.storage-dimensions-warning {
  margin-top: 0;
  color: #925d00;
}

.warehouse-storage-amount strong {
  overflow-wrap: anywhere;
}

.warehouse-storage-row.is-missing-dimensions .warehouse-storage-amount strong {
  color: #925d00;
  font-size: 11px;
}

.storage-dimension-inputs {
  display: grid;
  grid-template-columns: repeat(3, minmax(48px, 1fr)) auto;
  align-items: end;
  gap: 6px;
}

.storage-dimension-inputs label {
  display: grid;
  gap: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}

.storage-dimension-inputs input {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 5px 7px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  background: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
}

.storage-dimension-inputs input:disabled {
  color: var(--muted);
  background: var(--surface-soft);
}

.storage-dimensions-save {
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid #dca6db;
  border-radius: 6px;
  color: var(--accent);
  background: #fff4ff;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.storage-dimensions-save:disabled {
  cursor: wait;
  opacity: 0.6;
}

.warehouse-stock-load-more {
  width: calc(100% - 36px);
  min-height: 44px;
  margin: 12px 18px 16px;
  border: 1px solid #e6b8e8;
  border-radius: 8px;
  color: var(--accent);
  background: #fff4ff;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}

.warehouse-stock-load-more[hidden] {
  display: none;
}

.warehouse-item-row,
.warehouse-stock-row,
.warehouse-receipt-row,
.warehouse-receipt-detail-row {
  min-height: 66px;
  padding: 10px 18px;
  border-bottom: 1px solid var(--line);
}

.warehouse-receipt-row {
  cursor: pointer;
}

.warehouse-receipt-row:hover,
.warehouse-receipt-row.is-selected {
  background: #fbf6fc;
}

.warehouse-receipt-row.is-selected {
  box-shadow: inset 4px 0 0 var(--accent);
}

.warehouse-receipt-detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border-bottom: 1px solid var(--line);
}

.warehouse-receipt-detail-head h2 {
  margin: 0;
  font-size: 24px;
}

.warehouse-receipt-detail-head p:last-child {
  margin: 4px 0 0;
  color: var(--muted);
  font-weight: 800;
}

.warehouse-receipt-detail-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.warehouse-receipt-detail-actions span {
  min-width: 34px;
  padding: 5px 9px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-weight: 900;
  text-align: center;
}

.warehouse-receipt-detail-actions button {
  min-height: 40px;
  padding: 0 14px;
  color: var(--accent);
  background: #f8eafa;
  border: 1px solid #efc9ed;
  border-radius: 8px;
  font-weight: 900;
}

.warehouse-receipt-detail-actions .ghost {
  color: var(--danger);
  background: #fff4f2;
  border-color: #f1c4bf;
}

.warehouse-quantity-input {
  width: 72px;
  justify-self: start;
}

.warehouse-item-row:last-child,
.warehouse-stock-row:last-child,
.warehouse-receipt-row:last-child,
.warehouse-receipt-detail-row:last-child {
  border-bottom: 0;
}

.warehouse-stock-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 140px;
  gap: 10px;
  align-items: end;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}

.product-filters {
  grid-template-columns: minmax(260px, 1fr) minmax(170px, 0.36fr) 140px 170px 170px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}

.product-filters button {
  min-height: 52px;
  padding: 0 14px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-weight: 900;
}

.product-filters .filter-reset-button {
  color: var(--accent);
  background: #f8eafa;
}

.product-filters .secondary-action-button {
  color: var(--accent);
  background: #ecf8f6;
  border: 1px solid #b8ddd8;
}

.product-filters button:hover:not(:disabled) {
  background: var(--accent-dark);
}

.product-filters .filter-reset-button:hover {
  background: #f1d7f5;
}

.product-filters .secondary-action-button:hover:not(:disabled) {
  background: #dcf1ee;
}

.products-header,
.product-row {
  display: grid;
  grid-template-columns: 64px minmax(190px, 1.15fr) minmax(130px, 0.75fr) minmax(120px, 0.7fr) minmax(120px, 0.7fr) minmax(90px, 0.55fr) minmax(80px, 0.5fr) minmax(118px, 0.65fr) minmax(96px, 0.6fr);
  align-items: center;
  gap: 12px;
}

.product-row {
  min-height: 76px;
  padding: 10px 18px;
  border-bottom: 1px solid var(--line);
}

.product-dimensions {
  display: grid;
  gap: 3px;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 700;
}

.product-dimensions small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.product-photo {
  width: 52px;
  height: 52px;
  overflow: hidden;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.product-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-photo-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: var(--muted);
  font-size: 10px;
  text-align: center;
}

.product-name {
  display: grid;
  gap: 3px;
  font-weight: 600;
}

.product-name small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.product-mono {
  font-family: var(--font-mono);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.product-barcodes {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

.product-barcodes small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.product-signs-cell {
  display: flex;
  align-items: center;
  gap: 8px;
}

.product-signs-count {
  min-width: 32px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.product-signs-button {
  display: inline-grid;
  width: 34px;
  min-height: 34px;
  height: auto;
  max-width: 100%;
  padding: 6px;
  line-height: 1.3;
  place-items: center;
  color: var(--accent);
  background: #ecf8f6;
  border: 1px solid #b8ddd8;
  border-radius: 8px;
}

.product-signs-button:hover {
  background: #dcf1ee;
}

.product-signs-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(20, 32, 43, 0.36);
}

.modal-panel {
  width: min(760px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 18px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.modal-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.modal-header h2 {
  margin: 0;
  font-size: 28px;
  line-height: 1.05;
}

.icon-close-button {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: var(--accent);
  background: #f8eafa;
  border-radius: 8px;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}

.signs-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.signs-stats div {
  padding: 12px 14px;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.signs-stats span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.signs-stats strong {
  display: block;
  margin-top: 4px;
  font-size: 26px;
  line-height: 1;
}

.signs-tools {
  display: grid;
  grid-template-columns: 190px minmax(240px, 1fr);
  align-items: end;
  gap: 12px;
  margin-bottom: 14px;
}

.signs-tools button,
.modal-actions button {
  min-height: 52px;
  padding: 0 16px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-weight: 900;
}

.modal-actions .ghost {
  color: var(--accent);
  background: #f8eafa;
}

.signs-draft-panel {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.compact-title {
  min-height: 48px;
}

.compact-title h3 {
  margin: 0;
  font-size: 18px;
}

.signs-draft-list {
  display: grid;
  max-height: 220px;
  overflow: auto;
}

.signs-draft-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 14px;
  border-top: 1px solid var(--line);
}

.signs-draft-item code {
  color: var(--text);
  font-family: var(--font-mono);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.signs-draft-item button {
  min-height: 30px;
  padding: 0 10px;
  color: var(--danger);
  background: #fff4f2;
  border: 1px solid #f1c4bf;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
}

.compact-empty {
  min-height: 80px;
  border-top: 1px solid var(--line);
}

.signs-status {
  min-height: 20px;
  margin: 12px 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.signs-status.is-error {
  color: var(--danger);
}

.modal-actions {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(140px, 0.4fr);
  gap: 10px;
}

.request-row {
  width: 100%;
  min-height: 64px;
  padding: 12px 18px;
  color: var(--text);
  background: #fff;
  border-bottom: 1px solid var(--line);
  text-align: left;
}

.request-row:hover {
  background: #fbfcfd;
}

.request-row:last-child {
  border-bottom: 0;
}

.shipment-row {
  min-height: 68px;
  padding: 10px 12px;
  color: var(--text);
  background: #fff;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}

.shipment-row > span {
  min-width: 0;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.shipment-row:last-child {
  border-bottom: 0;
}

.shipment-number,
.shipment-total {
  font-weight: 900;
}

.shipment-request-link {
  width: max-content;
  max-width: 100%;
  padding: 0;
  color: var(--text);
  background: transparent;
  border: 0;
  font-weight: 800;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: #d7e0ea;
  text-underline-offset: 4px;
}

.shipment-request-link:hover {
  color: var(--accent);
  text-decoration-color: var(--accent);
}

.shipment-status-select {
  width: 100%;
  min-height: 34px;
  padding: 0 8px;
  border: 0;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 900;
}

.shipment-package {
  display: grid;
  grid-template-columns: minmax(54px, 1fr) minmax(54px, 1fr);
  align-items: end;
  gap: 5px;
}

.shipment-package label {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.shipment-package label small {
  grid-column: auto;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}

.shipment-package input {
  width: 100%;
  min-height: 34px;
  padding: 0 6px;
  color: var(--text);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
}

.shipment-package small {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.shipment-actions {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.shipment-actions .secondary-action-button {
  min-height: 34px;
  width: 100%;
  padding: 0 6px;
  color: var(--accent);
  background: #f8eafa;
  border: 1px solid #f1d7f5;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 900;
  white-space: normal;
}

.shipment-actions .secondary-action-button:hover {
  background: #f1d7f5;
}

.request-number,
.request-total {
  font-weight: 900;
}

.request-number {
  font-size: 15px;
}

.request-created-date {
  display: grid;
  gap: 2px;
  color: var(--muted);
  line-height: 1.1;
}

.request-muted {
  color: var(--muted);
}

.status-pill {
  display: inline-flex;
  width: max-content;
  min-height: 28px;
  align-items: center;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.status-active {
  color: var(--accent);
  background: #f8eafa;
}

.status-new {
  color: #2f5f94;
  background: #e9f2fb;
}

.status-ready {
  color: #2f6b44;
  background: #e7f6ed;
}

.status-closed {
  color: #3f5d44;
  background: #e9f6ec;
}

.status-problem {
  color: var(--danger);
  background: #fff0ef;
}

.priority-pill {
  display: inline-flex;
  width: max-content;
  min-height: 28px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.priority-select {
  font-weight: 900;
}

.priority-low {
  color: #075985;
  background: #e0f2fe;
  border-color: #bae6fd;
}

.priority-medium {
  color: #92400e;
  background: #fef3c7;
  border-color: #fde68a;
}

.priority-high {
  color: #b91c1c;
  background: #fee2e2;
  border-color: #fecaca;
}

.box-panel .barcode-field,
.box-panel .actions {
  grid-column: span 2;
}

.field-row {
  display: grid;
  gap: 8px;
  min-width: 0;
}

label {
  color: var(--muted);
  font-family: var(--font-secondary);
  font-size: 12px;
  font-weight: 700;
}

input,
select,
textarea {
  width: 100%;
  padding: 0 14px;
  color: var(--text);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  outline: 0;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}

input,
select {
  height: 44px;
}

input.shipment-row-checkbox,
.shipment-select-all input {
  width: 20px;
  min-width: 20px;
  max-width: 20px;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
  padding: 0;
  border-radius: 3px;
}

textarea {
  min-height: 52px;
  padding-top: 10px;
  padding-bottom: 10px;
  resize: vertical;
}

select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 22px,
    calc(100% - 12px) 22px;
  background-repeat: no-repeat;
  background-size: 6px 6px;
  padding-right: 34px;
}

select:not(:disabled) {
  cursor: pointer;
}

.team-multi-select.is-native-hidden {
  display: none;
}

.team-multi-control {
  position: relative;
  min-width: 0;
  max-width: 100%;
}

.team-multi-button {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
  font-weight: 800;
  line-height: 1.2;
  padding: 0 42px 0 14px;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}

.team-multi-button::after {
  content: "";
  position: absolute;
  right: 16px;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid var(--muted);
  pointer-events: none;
}

.team-multi-control.is-open .team-multi-button {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(13, 118, 110, 0.14);
}

.team-multi-summary {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.team-multi-summary.is-placeholder {
  color: var(--muted);
  font-weight: 700;
}

.team-multi-menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  max-height: 260px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(16, 24, 40, 0.18);
  padding: 6px;
}

.team-multi-option {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  padding: 10px;
  text-align: left;
  cursor: pointer;
}

.team-multi-option:hover,
.team-multi-option.is-selected {
  background: #f7e9f8;
}

.team-multi-check {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e1b8e7;
  border-radius: 6px;
  color: var(--accent);
  font-weight: 900;
}

.team-multi-option.is-selected .team-multi-check {
  background: var(--accent);
  border-color: var(--accent);
  color: #ffffff;
}

.team-multi-empty {
  padding: 12px;
  color: var(--muted);
  font-weight: 800;
}

.status-select-row {
  position: relative;
}

.status-save-state {
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  text-align: right;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(13, 118, 110, 0.14);
}

input[readonly] {
  background: var(--surface-soft);
  font-weight: 800;
}

select.locked-request-field:disabled {
  background-color: var(--surface-soft);
  background-image: none;
  color: var(--ink);
  font-weight: 800;
  opacity: 1;
  cursor: not-allowed;
}

input.locked-request-field[readonly] {
  cursor: not-allowed;
}

.box-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 8px;
}

.warehouse-box-field .box-field {
  grid-template-columns: minmax(0, 1fr) 44px 44px;
}

.warehouse-box-label-button {
  font-size: 19px;
}

.warehouse-box-label-status {
  display: block;
  min-height: 18px;
  margin-top: 5px;
  color: var(--danger);
  font-size: 12px;
  line-height: 1.35;
}

.icon-button {
  width: 44px;
  height: 44px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-size: 24px;
  line-height: 1;
}

.actions {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}

.actions button {
  min-height: 46px;
  padding: 0 14px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-weight: 800;
}

.actions button:hover,
.icon-button:hover {
  background: var(--accent-dark);
}

.actions .ghost {
  color: var(--danger);
  background: #fff3f2;
  border: 1px solid #f1cac7;
}

.actions .ghost:hover {
  background: #ffe6e3;
}

.items-section {
  overflow: hidden;
}

.items-header,
.item-row {
  display: grid;
  grid-template-columns: 56px minmax(340px, 1.6fr) minmax(150px, 0.7fr) 96px 170px 100px;
  align-items: center;
  gap: 12px;
}

.items-header {
  min-height: 44px;
  padding: 0 18px;
  color: var(--muted);
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  font-weight: 800;
}

.items-list {
  display: grid;
  max-height: calc(100vh - 300px);
  margin: 0;
  padding: 0;
  overflow: auto;
  list-style: none;
}

.item-load-more-row {
  display: block;
  list-style: none;
}

.assembly-load-more {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 12px 18px;
  background: #fff;
  border-top: 1px solid var(--line);
}

.assembly-load-more .secondary-action-button {
  min-width: min(280px, 100%);
  justify-content: center;
}

.history-items .assembly-load-more {
  padding: 8px 0 0;
  background: transparent;
  border-top: 0;
}

.item-row {
  min-height: 86px;
  padding: 10px 18px;
  border-bottom: 1px solid var(--line);
}

.item-row:last-child {
  border-bottom: 0;
}

.item-index {
  color: var(--muted);
  font-weight: 800;
}

.item-product {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.item-product .product-photo {
  width: 64px;
  height: 64px;
}

.item-product .product-name {
  min-width: 0;
}

.item-product-title {
  display: -webkit-box;
  overflow: hidden;
  font-size: 15px;
  line-height: 1.18;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.item-product-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.item-product-tags:empty {
  display: none;
}

.item-product-tags span {
  max-width: 100%;
  padding: 3px 7px;
  overflow: hidden;
  color: var(--accent);
  font-size: 11px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #f8e8f8;
  border: 1px solid #efc2eb;
  border-radius: 8px;
}

.item-barcode {
  font-family: var(--font-mono);
  font-size: 17px;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.quantity-input {
  width: 76px;
  height: 38px;
  padding: 0 8px;
  font-size: 18px;
  font-weight: 900;
  text-align: center;
}

.task-input {
  min-height: 42px;
  font-size: 13px;
  font-weight: 700;
}

.item-time {
  color: var(--muted);
  font-size: 14px;
}

.delete-item-button {
  min-height: 34px;
  padding: 0 12px;
  color: var(--danger);
  background: #fff3f2;
  border: 1px solid #f1cac7;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.delete-item-button:hover {
  background: #ffe6e3;
}

.empty-state {
  padding: 34px 18px;
  color: var(--muted);
  text-align: center;
}

.history-section {
  overflow: hidden;
}

.section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 0 18px;
  background: var(--surface-soft);
  border-bottom: 1px solid var(--line);
}

.section-title h2 {
  margin: 0;
  font-size: 18px;
  line-height: 1;
}

.section-action-button {
  min-height: 34px;
  margin-left: auto;
  margin-right: 10px;
  padding: 0 12px;
  color: var(--accent);
  background: #f8eafa;
  border: 1px solid #efc9ed;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.section-action-button:hover {
  background: #f2d9f5;
}

.plan-services-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.plan-services-button strong {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  color: #fff;
  background: var(--accent);
  border-radius: 6px;
  line-height: 1;
}

.plan-services-remove-button {
  color: #b83c3c;
  background: #fff3f1;
  border-color: #f1c8c3;
}

.plan-services-remove-button strong {
  background: #b83c3c;
}

.plan-services-remove-button:hover {
  background: #ffe9e5;
}

.plan-services-panel {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto;
  align-items: start;
  gap: 10px;
  padding: 12px 18px;
  background: #fbf6fc;
  border-bottom: 1px solid var(--line);
}

.plan-services-panel[hidden] {
  display: none;
}

.plan-service-picker {
  position: relative;
}

.plan-services-panel input,
.plan-services-panel button {
  min-height: 40px;
  border-radius: 8px;
}

.plan-services-panel button {
  padding: 0 14px;
  color: #fff;
  background: var(--accent);
  font-weight: 900;
}

.plan-services-panel .ghost {
  color: var(--accent);
  background: #f8eafa;
  border: 1px solid #efc9ed;
}

.plan-services-panel .invoice-service-option {
  min-height: 40px;
  padding: 8px 12px;
  color: var(--text);
  background: #fff;
  border-radius: 0;
  font-weight: 700;
}

.plan-services-panel .invoice-service-option:hover {
  background: var(--surface-soft);
}

.section-title span {
  min-width: 34px;
  padding: 5px 9px;
  color: #fff;
  background: var(--accent);
  border-radius: 8px;
  font-weight: 900;
  text-align: center;
}

.invoice-editor-heading .invoice-title-token,
.invoice-editor-heading .invoice-request-link {
  min-width: 0;
  padding: 0;
  color: #ac109f;
  background: transparent;
  border-radius: 0;
  text-align: left;
}

.invoice-editor-heading .invoice-request-link {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.history-list {
  display: grid;
}

.history-card {
  display: grid;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}

.history-card.is-active {
  background: #f3faf9;
  box-shadow: inset 4px 0 0 var(--accent);
}

.history-card:last-child {
  border-bottom: 0;
}

.history-top {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(140px, 0.8fr) minmax(130px, 0.7fr) minmax(140px, 0.8fr) 90px 150px;
  gap: 12px;
  align-items: center;
}

.history-number {
  font-weight: 900;
}

.history-meta,
.history-total,
.history-date {
  color: var(--muted);
  font-size: 14px;
}

.history-total {
  color: var(--text);
  font-weight: 900;
}

.history-items {
  display: grid;
  gap: 6px;
}

.history-item {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(140px, 0.45fr) 70px;
  gap: 12px;
  min-height: 58px;
  padding: 8px 10px;
  align-items: center;
  background: var(--surface-soft);
  border-radius: 8px;
}

.history-product {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.history-product-photo {
  width: 42px;
  height: 42px;
  border-radius: 7px;
}

.history-product-info {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.history-product-info strong {
  display: -webkit-box;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.15;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.history-product-info small {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.history-product-info small:empty {
  display: none;
}

.history-product-info em {
  max-width: 100%;
  padding: 2px 6px;
  overflow: hidden;
  color: var(--accent);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #f8e8f8;
  border: 1px solid #efc2eb;
  border-radius: 999px;
}

.history-barcode {
  font-family: var(--font-mono);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.history-qty {
  font-weight: 900;
  text-align: right;
}

.history-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.secondary-action-button,
.primary-action-button,
.delete-box-button,
.danger-action-button {
  justify-self: start;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.primary-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--accent);
  border: 1px solid var(--accent);
  box-shadow: 0 8px 18px rgba(172, 16, 159, 0.14);
}

.primary-action-button:hover:not(:disabled) {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
}

.secondary-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
  background: #ecf8f6;
  border: 1px solid #b8ddd8;
}

.secondary-action-button:hover:not(:disabled) {
  background: #dcf1ee;
}

.delete-box-button {
  color: var(--danger);
  background: #fff3f2;
  border: 1px solid #f1cac7;
}

.danger-action-button {
  color: var(--danger);
  background: #fff3f2;
  border: 1px solid #f1cac7;
}

.delete-box-button:hover {
  background: #ffe6e3;
}

.print-label {
  display: none;
}

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

@media (max-width: 820px) {
  .app-shell {
    width: min(100vw - 24px, 620px);
    padding-top: 18px;
  }

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

  .top-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .warehouse-stats,
  .warehouse-grid {
    grid-template-columns: 1fr;
  }

  .assembly-nav-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .assembly-nav-actions button {
    width: 100%;
  }

  .workspace {
    grid-template-columns: 1fr;
  }

  .request-filters {
    grid-template-columns: 1fr;
  }

  .audit-filters {
    grid-template-columns: 1fr;
  }

  .client-filters,
  .warehouse-stock-filters,
  .product-filters,
  .shipment-filters,
  .invoice-filters,
  .client-card-overview {
    grid-template-columns: 1fr;
  }

  .invoice-debt-summary {
    grid-template-columns: 1fr;
  }

  .requests-header,
  .audit-header,
  .users-header,
  .services-header,
  .shipments-header,
  .invoices-header,
  .invoice-items-header {
    display: none;
  }

  .request-row {
    grid-template-columns: 1fr 1fr;
  }

  .audit-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .user-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .service-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .shipment-row {
    min-width: 0;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .invoice-row,
  .invoice-item-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .invoice-service-form {
    grid-template-columns: 1fr;
  }

  .invoice-service-picker,
  #invoiceServiceQuantityInput,
  #invoiceServicePriceInput,
  #invoiceServiceAdjustmentInput,
  .invoice-service-form button[type="submit"] {
    grid-column: 1;
  }

  .invoice-bulk-adjustment {
    grid-template-columns: 1fr;
  }

  .invoice-bulk-adjustment span,
  .invoice-bulk-adjustment input,
  .invoice-bulk-adjustment button {
    grid-column: 1;
  }

  .invoice-bottom {
    grid-template-columns: 1fr;
  }

  .shipment-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .request-number {
    grid-column: 1 / -1;
    font-size: 20px;
  }

  .box-panel {
    grid-template-columns: 1fr;
  }

  .request-create-panel,
  .user-form,
  .services-form,
  .service-filters {
    grid-template-columns: 1fr;
  }

  .request-product-controls {
    grid-template-columns: 1fr;
  }

  .client-request-create-grid,
  .client-request-draft-controls,
  .client-request-task-row,
  .client-request-draft-row {
    grid-template-columns: 1fr;
  }

  .client-request-draft-row > strong {
    justify-self: start;
  }

  .product-search-line {
    grid-template-columns: 1fr;
  }

  .request-global-task {
    grid-template-columns: 1fr;
  }

  .request-tz-tools {
    grid-template-columns: 1fr;
  }

  .plan-services-panel {
    grid-template-columns: 1fr;
  }

  .request-plan-header,
  .plan-header {
    display: none;
  }

  .request-plan-row,
  .plan-row {
    grid-template-columns: 1fr 1fr;
  }

  .plan-defect-input {
    width: 100%;
  }

  .client-form {
    grid-template-columns: 1fr;
  }

  .client-form-section {
    padding: 16px;
  }

  .client-form-section-header,
  .client-integration-header,
  .client-integration-toggle {
    grid-template-columns: 34px minmax(0, 1fr);
    width: 100%;
    justify-self: stretch;
  }

  .client-form-section-header:not(.client-integration-header) {
    grid-template-columns: 1fr;
  }

  .client-integration-status,
  .client-integration-action {
    grid-column: 2;
    justify-self: start;
    text-align: left;
  }

  .client-integration-fields,
  .client-form-footer,
  .client-form-actions {
    grid-template-columns: 1fr;
  }

  .client-wb-token-status,
  .client-integration-toggle {
    width: 100%;
    justify-self: stretch;
  }

  .client-form .wide-field,
  .client-form-footer,
  .client-form-actions {
    grid-column: auto;
  }

  .client-wb-token-actions {
    grid-template-columns: 1fr;
  }

  .client-wb-token-actions .secondary-action-button {
    width: 100%;
  }

  .client-wb-token-summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .client-wb-warehouses-toolbar {
    grid-template-columns: 1fr;
  }

  .client-wb-cabinet-picker {
    grid-template-columns: 1fr;
  }

  .client-wb-warehouses-toolbar .secondary-action-button {
    width: 100%;
  }

  .client-wb-warehouse-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .client-wb-warehouse-unavailable {
    grid-column: 2;
  }

  .client-form-actions {
    grid-template-columns: 1fr;
  }

  .client-form-footer button,
  .client-form-actions button {
    width: 100%;
  }

  .clients-header,
  .products-header,
  .warehouse-items-header,
  .warehouse-stock-header,
  .warehouse-storage-header,
  .warehouse-accrual-header,
  .warehouse-receipts-header,
  .warehouse-receipt-detail-header {
    display: none;
  }

  .client-row,
  .product-row,
  .warehouse-item-row,
  .warehouse-stock-row,
  .warehouse-storage-row,
  .warehouse-accrual-row,
  .warehouse-receipt-row,
  .warehouse-receipt-detail-row {
    grid-template-columns: 1fr 1fr;
  }

  .warehouse-accrual-filters {
    grid-template-columns: 1fr 1fr;
  }

  .warehouse-storage-product,
  .warehouse-storage-dimensions {
    grid-column: 1 / -1;
  }

  .storage-dimension-inputs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .storage-dimensions-save {
    grid-column: 1 / -1;
  }

  .warehouse-receive-fields,
  .warehouse-actions {
    grid-template-columns: 1fr;
  }

  .warehouse-receipt-detail-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .warehouse-receipt-detail-actions {
    justify-content: flex-start;
  }

  .warehouse-stock-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .warehouse-stock-title-actions {
    width: 100%;
    justify-content: space-between;
    margin-left: 0;
  }

  .modal-panel {
    max-height: calc(100vh - 24px);
  }

  .signs-stats,
  .signs-tools,
  .modal-actions {
    grid-template-columns: 1fr;
  }

  .client-main,
  .client-actions,
  .product-name {
    grid-column: 1 / -1;
  }

  .box-panel .barcode-field,
  .box-panel .actions {
    grid-column: auto;
  }

  .items-header,
  .item-row {
    grid-template-columns: 32px minmax(220px, 1.4fr) minmax(120px, 0.8fr) 56px 92px 72px;
    gap: 8px;
  }

  .items-header,
  .item-row {
    padding-inline: 12px;
  }

  .actions {
    grid-template-columns: 1fr;
  }

  .history-top {
    grid-template-columns: 1fr 1fr;
  }

  .history-number {
    grid-column: 1 / -1;
  }

  .history-date {
    text-align: right;
  }
}

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

  .client-sidebar {
    position: static;
    height: auto;
  }

  .client-main,
  .client-portal > .client-main {
    grid-column: auto;
  }

  .client-portal > .client-main {
    padding: 20px;
  }

  .client-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .client-stats-grid,
  .client-dashboard-grid,
  .client-order-stats,
  .client-orders-layout,
  .client-orders-toolbar,
  .client-detail-grid,
  .client-request-detail-top,
  .client-multi-meta {
    grid-template-columns: 1fr;
  }

  .client-multi-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-multi-toolbar {
    grid-template-columns: 1fr;
  }

  .client-city-card dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-portal .client-row {
    grid-template-columns: 1fr;
  }

  .client-download-button {
    justify-self: stretch;
  }

  .client-storage-head { align-items: stretch; flex-direction: column; }
  .client-storage-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-storage-batch { grid-template-columns: 44px minmax(0, 1fr); }
  .client-storage-batch > span:nth-child(n + 3) { grid-column: 2; }
}

@media (max-width: 560px) {
  .client-storage-card {
    padding: 16px;
  }

  .client-storage-summary {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .client-storage-summary > div {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding: 12px;
  }

  .client-storage-summary > div small,
  .client-storage-summary > div span {
    grid-column: 1;
  }

  .client-storage-summary > div strong {
    grid-column: 2;
    grid-row: 1 / span 2;
    text-align: right;
  }

  .client-storage-batch {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 8px;
    padding: 10px;
  }

  .client-storage-batch > span:nth-child(n + 3) {
    grid-template-columns: minmax(90px, 0.8fr) minmax(0, 1fr);
    align-items: baseline;
    column-gap: 8px;
  }

  .client-storage-batch > span:nth-child(n + 3) small:last-child {
    grid-column: 2;
  }
}

@page {
  size: 58mm 40mm;
  margin: 0;
}

@media print {
  html,
  body {
    width: 58mm;
    min-height: 40mm;
    height: auto;
    margin: 0;
    background: #fff;
  }

  .app-shell {
    display: none;
  }

  .modal-backdrop {
    display: none !important;
  }

  .print-label {
    display: grid;
    width: 58mm;
    height: 40mm;
    padding: 2mm 2.5mm 1.8mm;
    color: #000;
    background: #fff;
    grid-template-rows: min-content min-content min-content 12mm min-content;
    gap: 0.7mm;
    align-content: start;
    overflow: hidden;
    break-after: avoid;
    page-break-after: avoid;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .label-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 2mm;
    max-height: 3.2mm;
    overflow: hidden;
  }

  .label-title {
    max-height: 3.2mm;
    overflow: hidden;
    font-size: 7pt;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
  }

  .label-marketplace {
    max-width: 60%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 6.5pt;
    font-weight: 700;
    line-height: 1;
    text-align: right;
  }

  .label-marketplace:empty {
    display: none;
  }

  .label-number {
    font-family: var(--font-primary);
    max-height: 6mm;
    overflow: hidden;
    font-size: 13pt;
    font-weight: 800;
    line-height: 1;
  }

  .label-meta {
    max-height: 5.4mm;
    overflow: hidden;
    font-size: 6.5pt;
    font-weight: 700;
    line-height: 1.1;
  }

  #labelBarcode {
    display: block;
    width: 100%;
    height: 12mm;
  }

  .label-footer {
    display: flex;
    justify-content: space-between;
    gap: 2mm;
    overflow: hidden;
    font-size: 6.5pt;
    line-height: 1;
  }

  .label-footer span {
    white-space: nowrap;
  }

  .print-label.is-product-label {
    display: flex;
    gap: 1.2mm;
    padding: 2.5mm 3mm 2mm;
    justify-content: flex-start;
    flex-direction: column;
  }

  .print-label.is-product-label .label-title {
    font-size: 6.5pt;
  }

  .print-label.is-product-label .label-number {
    font-size: 9pt;
    line-height: 1.05;
    max-height: 11mm;
    overflow: hidden;
  }

  .print-label.is-product-label .label-meta {
    min-height: 0;
    font-size: 6.5pt;
    line-height: 1.15;
  }

  .print-label.is-product-label #labelBarcode {
    height: 13mm;
    margin-top: auto;
  }

  .print-label.is-product-label .label-footer {
    justify-content: flex-start;
    font-size: 7pt;
    font-weight: 700;
  }

  .print-label.is-box-batch,
  .print-label.is-sign-batch {
    display: block;
    width: auto;
    height: auto;
    padding: 0;
    overflow: visible;
  }

  .print-label.is-box-batch > :not(.box-label-list),
  .print-label.is-sign-batch > :not(.sign-label-list) {
    display: none;
  }

  .box-label-list,
  .sign-label-list {
    display: block;
  }

  .box-print-label {
    display: grid;
    width: 58mm;
    height: 40mm;
    padding: 2mm 2.5mm 1.8mm;
    color: #000;
    background: #fff;
    grid-template-rows: min-content min-content min-content 12mm min-content;
    gap: 0.7mm;
    align-content: start;
    overflow: hidden;
    break-after: page;
    page-break-after: always;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .box-print-label:last-child {
    break-after: avoid;
    page-break-after: avoid;
  }

  .box-print-label svg {
    display: block;
    width: 100%;
    height: 12mm;
  }

  .sign-label {
    display: grid;
    width: 58mm;
    height: 40mm;
    padding: 2mm 2.4mm 2mm;
    color: #000;
    background: #fff;
    grid-template-columns: 33mm 19mm;
    grid-template-rows: min-content min-content 1fr;
    column-gap: 1.5mm;
    row-gap: 0.7mm;
    overflow: hidden;
    break-after: page;
    page-break-after: always;
  }

  .sign-label strong {
    grid-column: 1;
    max-height: 16mm;
    overflow: hidden;
    font-size: 7.2pt;
    line-height: 1.08;
  }

  .sign-label span {
    grid-column: 1;
    max-height: 11mm;
    overflow: hidden;
    font-size: 6.3pt;
    font-weight: 700;
    line-height: 1.15;
  }

  .sign-label-matrix {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: start;
    width: 18.5mm;
    height: 18.5mm;
  }

  .sign-label-matrix svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .sign-label-code {
    grid-column: 1 / -1;
    align-self: end;
    min-height: 9mm;
    padding-top: 0.8mm;
    border-top: 0.3mm solid #000;
    font-family: var(--font-mono);
    font-size: 5.4pt;
    font-weight: 700;
    line-height: 1.08;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
  }
}
/* Users page tabs unified style */
#usersPage .users-tabs {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: fit-content !important;
  margin: 16px !important;
  padding: 6px !important;
  border: 1px solid #efc7ec !important;
  border-radius: 14px !important;
  background: #fbecfb !important;
  box-shadow: 0 10px 24px rgba(172, 16, 159, 0.08) !important;
}

#usersPage .users-tabs button,
#usersPage .users-tabs a,
#usersPage .users-tabs [role="tab"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 44px !important;
  padding: 0 28px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #ac109f !important;
  font: inherit !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease !important;
}

#usersPage .users-tabs button:hover,
#usersPage .users-tabs a:hover,
#usersPage .users-tabs [role="tab"]:hover {
  background: rgba(172, 16, 159, 0.08) !important;
}

#usersPage .users-tabs button:focus-visible,
#usersPage .users-tabs a:focus-visible,
#usersPage .users-tabs [role="tab"]:focus-visible {
  outline: 3px solid rgba(172, 16, 159, 0.22) !important;
  outline-offset: 2px !important;
}

#usersPage .users-tabs button.active,
#usersPage .users-tabs button.is-active,
#usersPage .users-tabs button[aria-selected="true"],
#usersPage .users-tabs a.active,
#usersPage .users-tabs a.is-active,
#usersPage .users-tabs a[aria-selected="true"],
#usersPage .users-tabs [role="tab"].active,
#usersPage .users-tabs [role="tab"].is-active,
#usersPage .users-tabs [role="tab"][aria-selected="true"] {
  background: linear-gradient(135deg, #b80fac, #7b4ff5) !important;
  color: #fff !important;
  box-shadow: 0 12px 22px rgba(172, 16, 159, 0.18) !important;
}

#usersPage .users-tabs:not(:has(button.active, button.is-active, button[aria-selected="true"], a.active, a.is-active, a[aria-selected="true"], [role="tab"].active, [role="tab"].is-active, [role="tab"][aria-selected="true"])) button:first-child,
#usersPage .users-tabs:not(:has(button.active, button.is-active, button[aria-selected="true"], a.active, a.is-active, a[aria-selected="true"], [role="tab"].active, [role="tab"].is-active, [role="tab"][aria-selected="true"])) a:first-child,
#usersPage .users-tabs:not(:has(button.active, button.is-active, button[aria-selected="true"], a.active, a.is-active, a[aria-selected="true"], [role="tab"].active, [role="tab"].is-active, [role="tab"][aria-selected="true"])) [role="tab"]:first-child {
  background: linear-gradient(135deg, #b80fac, #7b4ff5) !important;
  color: #fff !important;
  box-shadow: 0 12px 22px rgba(172, 16, 159, 0.18) !important;
}

@media (max-width: 640px) {
  #usersPage .users-tabs {
    display: flex !important;
    width: calc(100% - 32px) !important;
  }

  #usersPage .users-tabs button,
  #usersPage .users-tabs a,
  #usersPage .users-tabs [role="tab"] {
    flex: 1 !important;
    padding: 0 16px !important;
  }
}
/* Scoped polish for the services editor buttons. */
body #serviceForm button {
  width: 100%;
  min-height: 46px;
  border-radius: 10px;
  border: 1px solid transparent;
  padding: 0 20px;
  font: inherit;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-sizing: border-box;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

body #serviceForm button:first-of-type {
  color: #ffffff !important;
  background: linear-gradient(135deg, #bf0caf 0%, #6d4df3 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 14px 28px rgba(172, 16, 159, 0.2);
}

body #serviceForm button:first-of-type:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 32px rgba(172, 16, 159, 0.26);
}

body #serviceForm button + button {
  color: #ac109f !important;
  background: #fff3fb !important;
  border-color: #eec9ea !important;
  box-shadow: none;
}

body #serviceForm button + button:hover {
  background: #f8e7f7 !important;
  border-color: #dba6d5 !important;
  transform: translateY(-1px);
}

body #serviceForm button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
/* Services page form buttons. */
#serviceForm button {
  width: 100%;
  min-height: 46px;
  border-radius: 10px;
  border: 1px solid transparent;
  padding: 0 20px;
  font: inherit;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-sizing: border-box;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

#serviceForm button:first-of-type {
  color: #ffffff !important;
  background: linear-gradient(135deg, #bf0caf 0%, #6d4df3 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 14px 28px rgba(172, 16, 159, 0.2);
}

#serviceForm button:first-of-type:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 32px rgba(172, 16, 159, 0.26);
}

#serviceForm button + button {
  color: #ac109f !important;
  background: #fff3fb !important;
  border-color: #eec9ea !important;
  box-shadow: none;
}

#serviceForm button + button:hover {
  background: #f8e7f7 !important;
  border-color: #dba6d5 !important;
  transform: translateY(-1px);
}

#serviceForm button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
/* Services form action buttons. */
#serviceForm button {
  width: 100%;
  min-height: 46px;
  border-radius: 10px;
  border: 1px solid transparent;
  padding: 0 20px;
  font: inherit;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-sizing: border-box;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

#serviceForm button:first-of-type {
  color: #fff !important;
  background: linear-gradient(135deg, #bf0caf 0%, #6d4df3 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 14px 28px rgba(172, 16, 159, 0.2);
}

#serviceForm button:first-of-type:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 32px rgba(172, 16, 159, 0.26);
}

#serviceForm button + button {
  color: #ac109f !important;
  background: #fff3fb !important;
  border-color: #eec9ea !important;
  box-shadow: none;
}

#serviceForm button + button:hover {
  background: #f8e7f7 !important;
  border-color: #dba6d5 !important;
  transform: translateY(-1px);
}

#serviceForm button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
/* Unified services form action buttons. */
#serviceForm button {
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 10px !important;
  border: 1px solid transparent !important;
  padding: 0 20px !important;
  font: inherit !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
  box-sizing: border-box;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease,
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

#serviceForm button:first-of-type {
  color: #fff !important;
  background: linear-gradient(135deg, #bf0caf 0%, #6d4df3 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 14px 28px rgba(172, 16, 159, 0.2) !important;
}

#serviceForm button:first-of-type:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 32px rgba(172, 16, 159, 0.26) !important;
}

#serviceForm button + button {
  color: #ac109f !important;
  background: #fff3fb !important;
  border-color: #eec9ea !important;
  box-shadow: none !important;
}

#serviceForm button + button:hover {
  background: #f8e7f7 !important;
  border-color: #dba6d5 !important;
  transform: translateY(-1px);
}

#serviceForm button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none !important;
}

.fbs-page {
  min-width: 0;
}

.fbs-header,
.fbs-client-header {
  min-width: 0;
}

.fbs-toolbar,
.fbs-form,
.fbs-content,
.fbs-client-view {
  min-width: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.fbs-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: end;
  gap: 14px;
  margin-bottom: 16px;
  padding: 18px;
}

.fbs-client-field {
  max-width: 520px;
}

.fbs-form {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(220px, 1fr) minmax(260px, 1.3fr) auto;
  align-items: end;
  gap: 14px;
  margin-bottom: 16px;
  padding: 18px;
}

.fbs-form h2,
.fbs-form h3 {
  margin: 0;
  align-self: center;
  font-size: 18px;
}

.fbs-form label {
  display: grid;
  gap: 8px;
}

.fbs-form-actions,
.fbs-actions,
.fbs-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.fbs-button,
.fbs-action {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-weight: 900;
}

.fbs-primary-button {
  color: #fff;
  background: var(--accent);
}

.fbs-primary-button:hover:not(:disabled) {
  background: var(--accent-dark);
}

.fbs-secondary-button {
  color: var(--accent);
  background: #f8eafa;
  border-color: #efc9ed;
}

.fbs-secondary-button:hover:not(:disabled) {
  background: #f2d9f5;
}

.fbs-danger-button {
  color: var(--danger);
  background: #fff3f2;
  border-color: #f1cac7;
}

.fbs-button:focus-visible,
.fbs-action:focus-visible {
  outline: 3px solid rgba(172, 16, 159, 0.32);
  outline-offset: 2px;
}

.fbs-status {
  min-height: 24px;
  margin: 0 2px 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.fbs-content,
.fbs-client-view {
  overflow: hidden;
}

.fbs-client-view {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.fbs-client-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.fbs-client-header h2 {
  margin: 0;
}

.fbs-cabinets-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  gap: 14px;
  min-width: 0;
  padding: 16px;
}

.fbs-client-view .fbs-cabinets-list {
  padding: 0;
}

.fbs-card {
  display: grid;
  min-width: 0;
  gap: 14px;
  padding: 18px;
  overflow-wrap: anywhere;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.fbs-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.fbs-card-heading h2 {
  margin: 3px 0 0;
  font-size: 20px;
  overflow-wrap: anywhere;
}

.fbs-card-caption {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.fbs-status-badge,
.fbs-marketplace-badge,
.fbs-readonly-badge {
  width: fit-content;
  max-width: 100%;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.fbs-status-connected,
.fbs-marketplace-badge {
  color: #17633a;
  background: #e8f6ee;
  border-color: #bfe4cd;
}

.fbs-status-needs_check,
.fbs-readonly-badge {
  color: #805b12;
  background: #fff7dd;
  border-color: #eedca0;
}

.fbs-status-error,
.fbs-status-disconnected {
  color: var(--danger);
  background: #fff3f2;
  border-color: #f1cac7;
}

.fbs-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.fbs-meta div {
  min-width: 0;
  padding: 10px;
  background: var(--surface-soft);
  border-radius: 8px;
}

.fbs-meta dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.fbs-meta dd {
  margin: 4px 0 0;
  font-weight: 800;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.fbs-error {
  margin: 0;
  padding: 10px 12px;
  color: var(--danger);
  overflow-wrap: anywhere;
  background: #fff3f2;
  border-radius: 8px;
}

.fbs-empty-state {
  padding: 34px 18px;
  color: var(--muted);
  text-align: center;
  overflow-wrap: anywhere;
}

.fbs-tabs {
  display: flex;
  gap: 8px;
  min-width: 0;
  margin-bottom: 16px;
  padding: 5px;
  overflow-x: auto;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.fbs-orders-tab {
  min-height: 42px;
  padding: 0 18px;
  color: var(--muted);
  font-weight: 900;
  white-space: nowrap;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
}

.fbs-orders-tab[aria-selected="true"] {
  color: var(--accent);
  background: var(--surface);
  border-color: var(--line);
  box-shadow: var(--shadow);
}

.fbs-orders-tab:focus-visible,
.fbs-orders-row:focus-visible {
  outline: 3px solid rgba(172, 16, 159, 0.32);
  outline-offset: 2px;
}

.fbs-orders-view,
[data-fbs-orders-root] {
  display: grid;
  min-width: 0;
  gap: 16px;
}

.fbs-orders-heading,
.fbs-orders-actions,
.fbs-orders-preview-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.fbs-orders-heading h2,
.fbs-orders-preview-header h2,
.fbs-orders-preview h3 {
  margin: 0;
}

.fbs-orders-total {
  display: inline-grid;
  min-width: 32px;
  height: 32px;
  margin-left: 6px;
  padding: 0 9px;
  place-items: center;
  text-align: center;
  color: var(--text);
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  vertical-align: 3px;
  background: #fff;
  border: 2px solid var(--accent);
  border-radius: 999px;
}

.fbs-sync-relative-status {
  width: fit-content;
  max-width: 100%;
  margin: -8px 0 0 auto;
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.fbs-sync-relative-status.is-neutral {
  color: var(--muted);
  background: var(--surface-soft);
  border-color: var(--line);
}

.fbs-sync-relative-status.is-success {
  color: #17633a;
  background: #e8f6ee;
  border-color: #bfe4cd;
}

.fbs-sync-relative-status.is-partial {
  color: #805b12;
  background: #fff7dd;
  border-color: #eedca0;
}

.fbs-sync-relative-status.is-failed {
  color: var(--danger);
  background: #fff3f2;
  border-color: #f1cac7;
}

.fbs-sync-relative-status.is-running {
  color: var(--accent);
  background: #f8eafa;
  border-color: #efc9ed;
}

.fbs-handoff-result {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #eedca0;
  border-radius: 10px;
  background: #fffaf0;
}

.fbs-handoff-result.is-success {
  color: #17633a;
  border-color: #bfe4cd;
  background: #f0faf4;
}

.fbs-handoff-result.is-failed {
  color: var(--danger);
  border-color: #f1cac7;
  background: #fff3f2;
}

.fbs-delivery-result {
  padding: 14px;
  color: #17633a;
  background: #f0faf4;
  border: 1px solid #bfe4cd;
  border-radius: 10px;
}

.fbs-handoff-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 8px;
}

.fbs-handoff-groups article {
  display: grid;
  min-width: 0;
  gap: 3px;
  padding: 9px 10px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid currentColor;
  border-radius: 8px;
  overflow-wrap: anywhere;
}

.fbs-handoff-groups span,
.fbs-handoff-groups small {
  color: var(--muted);
}

.fbs-session-unit-context {
  margin: -8px 0 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.fbs-orders-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 10px;
  min-width: 0;
}

.fbs-orders-kpis article {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.fbs-orders-kpis span,
.fbs-orders-last-sync {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.fbs-orders-kpis strong {
  font-size: 24px;
}

.fbs-orders-last-sync {
  margin: 0;
  padding: 12px 14px;
  background: var(--surface-soft);
  border-radius: 8px;
}

.fbs-orders-history,
.fbs-orders-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  align-items: end;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.fbs-orders-history {
  grid-template-columns: minmax(150px, 1fr) repeat(2, minmax(160px, 0.8fr)) auto;
}

.fbs-orders-history label,
.fbs-orders-filters label {
  display: grid;
  min-width: 0;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.fbs-orders-history input,
.fbs-orders-filters input,
.fbs-orders-filters select {
  width: 100%;
  min-width: 0;
}

.fbs-orders-search {
  grid-column: span 2;
}

.fbs-orders-state {
  padding: 26px 16px;
  color: var(--muted);
  text-align: center;
  overflow-wrap: anywhere;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.fbs-orders-table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.fbs-assembly-dialog {
  width: min(680px, calc(100vw - 32px));
}

.fbs-assembly-form,
.fbs-sticker-result {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.fbs-assembly-form label {
  display: grid;
  gap: 8px;
  font-weight: 700;
}

.fbs-assembly-form input {
  min-height: 52px;
  border: 2px solid #c00aa5;
  border-radius: 10px;
  padding: 0 14px;
  font: inherit;
  font-size: 18px;
}

.fbs-sticker-result {
  justify-items: center;
  border-top: 1px solid #d9e3ec;
  text-align: center;
}

.fbs-sticker-result img {
  width: min(580px, 100%);
  aspect-ratio: 58 / 40;
  object-fit: contain;
  border: 1px solid #d9e3ec;
  border-radius: 10px;
  background: #fff;
}

.fbs-session-queue,
.fbs-session-workspace {
  display: grid;
  gap: 18px;
  width: min(1120px, 100%);
  margin: 0 auto;
  padding: clamp(18px, 3vw, 36px);
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
}

.fbs-session-workspace {
  position: fixed;
  grid-auto-rows: max-content;
  align-content: start;
  inset: 0;
  z-index: 1200;
  width: 100%;
  min-height: 100dvh;
  max-height: 100dvh;
  overflow: auto;
  margin: 0;
  border: 0;
  border-radius: 0;
  overscroll-behavior: contain;
}

.fbs-assembly-sticker-progress {
  width: fit-content;
  margin: 0;
  padding: 8px 12px;
  color: #174f8a;
  font-weight: 800;
  background: #eaf4ff;
  border: 1px solid #b9d9f7;
  border-radius: 999px;
}

.fbs-session-queue {
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
}

.fbs-session-queue.fbs-assembly-work-queue {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
}

.fbs-assembly-queue-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: 14px;
  min-width: 0;
}

.fbs-assembly-queue-card {
  display: grid;
  gap: 14px;
  min-width: 0;
  max-width: 100%;
  padding: 16px;
  overflow: hidden;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
}

/* Compact assembly cards: preserve all metadata and actions. */
.fbs-assembly-queue-grid {
  justify-items: start;
}

.fbs-assembly-queue-card {
  container-type: inline-size;
  width: 100%;
  max-width: 720px;
  gap: 8px;
  padding: 12px;
  align-content: start;
}

.fbs-assembly-queue-card > [data-fbs-no-stock-open] {
  justify-self: start;
  width: auto;
  color: #86108b;
  background: #fff;
  border: 1px solid #b52abd;
  cursor: pointer;
}

.fbs-assembly-queue-card > [data-fbs-no-stock-open]:hover:not(:disabled) {
  background: #faeafa;
  border-color: #86108b;
}

.fbs-assembly-queue-card > [data-fbs-no-stock-open]:focus-visible {
  outline: 2px solid #86108b;
  outline-offset: 2px;
}

.fbs-session-queue .fbs-assembly-queue-card p {
  margin-top: 2px;
}

.fbs-session-queue .fbs-assembly-queue-card dl > div {
  padding: 2px 0;
}

.fbs-session-queue .fbs-assembly-queue-card .fbs-assembly-queue-meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 12px;
}

.fbs-session-queue .fbs-assembly-queue-card .fbs-assembly-queue-counts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.fbs-session-queue .fbs-assembly-queue-card dd {
  margin-top: 1px;
  font-size: 14px;
}

@container (min-width: 600px) {
  .fbs-session-queue .fbs-assembly-queue-card .fbs-assembly-queue-meta {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .fbs-assembly-queue-card .fbs-assembly-queue-actions {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .fbs-session-queue .fbs-assembly-queue-card .fbs-assembly-queue-counts > div {
    display: flex;
    align-items: baseline;
    gap: 8px;
  }
}

/* Approved expressive assembly queue. Scoped to the queue, not the scanner. */
.fbs-session-queue.fbs-queue-v2 {
  --queue-accent: #b008ac;
  width: 100%; max-width: 1400px; padding: 0; margin: 0 auto;
  border: 0; border-radius: 0; box-shadow: none; background: transparent;
  gap: 20px; overflow: visible;
}
.fbs-queue-v2 .fbs-queue-heading { display:flex; align-items:center; gap:12px; font-size:26px; line-height:1.25; }
.fbs-queue-heading > span { padding:5px 11px; border-radius:10px; background:#e9eaf1; font-size:18px; }
.fbs-queue-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
.fbs-queue-filters { display:flex; flex-wrap:wrap; gap:8px; }
.fbs-queue-filters button { display:flex; align-items:center; gap:8px; min-height:44px; padding:9px 14px; border:1px solid #e0e4ef; border-radius:10px; background:#fff; color:#415071; font-family:inherit; font-size:14px; font-weight:600; line-height:1.3; cursor:pointer; }
.fbs-queue-filters button > span { background:#edf0f6; padding:2px 6px; border-radius:6px; }
.fbs-queue-filters button[aria-pressed="true"] { color:white; background:var(--queue-accent); border-color:var(--queue-accent); }
.fbs-queue-filters button[aria-pressed="true"] > span { background:#ffffff30; }
.fbs-queue-search { display:flex; align-items:center; gap:10px; background:white; padding:0 12px; border:1px solid #cfd6e5; border-radius:10px; min-height:44px; width:320px; max-width:100%; }
.fbs-queue-v2 svg { width:20px; height:20px; flex-shrink:0; }
.fbs-queue-search input { min-width:0; width:100%; padding:10px 0; background:transparent; border:0; outline:0; font:inherit; font-size:14px; }
.fbs-queue-search:focus-within { outline:2px solid var(--queue-accent); outline-offset:2px; }
.fbs-queue-v2 .fbs-assembly-queue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; justify-items:stretch; }
.fbs-queue-v2 .fbs-queue-card { container-type:normal; position:relative; display:grid; grid-template-columns:112px minmax(0,1fr); gap:14px 18px; padding:18px; border:1px solid #e2e6f0; border-left:6px solid var(--queue-accent); border-radius:16px; background:#fff; box-shadow:0 6px 18px #25325009; width:100%; max-width:none; overflow:visible; color:#152039; }
.fbs-queue-v2 [hidden] { display:none !important; }
.fbs-queue-progress { display:flex; flex-direction:column; justify-content:center; align-self:stretch; background:#f7efff; border-radius:12px; padding:16px 12px; min-width:0; }
.fbs-queue-progress > div { white-space:nowrap; font-weight:800; font-size:22px; line-height:1.3; }
.fbs-queue-progress strong { color:var(--queue-accent); font-size:34px; }
.fbs-queue-progress small { font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:#526080; }
.fbs-session-queue .fbs-queue-progress p { margin:12px 0 0; padding-top:12px; border-top:1px solid #e6d5f3; font-size:14px; color:#415071; }
.fbs-queue-info { display:flex; flex-direction:column; min-width:0; gap:9px; }
.fbs-session-queue .fbs-queue-caption { margin:0; font-size:13px; line-height:1.4; color:#576382; }
.fbs-queue-v2 .fbs-queue-info h3 { font-size:20px; font-weight:800; line-height:1.3; margin:0; overflow-wrap:anywhere; }
.fbs-queue-status-line { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; }
.fbs-queue-v2 .fbs-assembly-queue-status { font-size:12px; font-weight:650; padding:6px 9px; gap:6px; align-items:center; }
.fbs-queue-v2 .fbs-assembly-queue-status::before { content:''; height:7px; width:7px; border-radius:50%; background:currentColor; }
.fbs-queue-age { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#526080; }
.fbs-queue-age.is-critical { color:#9c2525; }
.fbs-session-queue .fbs-queue-worker { display:flex; align-items:center; gap:8px; margin:auto 0 0; font-size:13px; line-height:1.4; color:#576382; }
.fbs-queue-actions { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.6fr) minmax(120px,1fr); gap:12px; align-items:start; }
.fbs-queue-v2 .fbs-queue-actions > .fbs-button, .fbs-queue-menu > summary { display:flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:11px 12px; border-radius:10px; font-size:14px; font-weight:700; line-height:1.4; white-space:normal; text-align:center; width:100%; }
.fbs-queue-actions > .fbs-primary-button { background:var(--queue-accent); color:#fff; }
.fbs-queue-actions > .fbs-primary-button:disabled { background:#dce0e9; border-color:#dce0e9; color:#59657e; opacity:1; cursor:not-allowed; }
.fbs-queue-menu { position:relative; min-width:0; }
.fbs-queue-menu > summary { border:1px solid #aab9d4; cursor:pointer; background:#fff; color:#152039; list-style:none; }
.fbs-queue-menu > summary::-webkit-details-marker, .fbs-queue-details > summary::-webkit-details-marker { display:none; }
.fbs-queue-menu > summary:hover { background:#faf5ff; border-color:var(--queue-accent); }
.fbs-queue-menu[open] > summary svg, .fbs-queue-details[open] > summary svg { transform:rotate(180deg); }
.fbs-queue-card:has(.fbs-queue-menu[open]) { z-index:3; }
.fbs-queue-menu-panel { position:absolute; z-index:4; right:0; top:calc(100% + 6px); width:280px; max-width:calc(100vw - 64px); padding:8px; border:1px solid #dbe0eb; border-radius:12px; background:white; box-shadow:0 10px 28px #24305424; display:grid; gap:6px; }
.fbs-queue-v2 .fbs-queue-menu-panel .fbs-button { min-height:44px; width:100%; padding:10px; text-align:left; white-space:normal; font-size:13px; line-height:1.4; border:1px solid #e2e5ef; background:white; color:#34435d; }
.fbs-queue-v2 .fbs-queue-menu-panel .fbs-external-wb-close-button { color:#ac332f; }
.fbs-queue-v2 .fbs-queue-menu-panel .fbs-button:hover:not(:disabled) { background:#f8effb; }
.fbs-queue-v2 .fbs-queue-menu-panel .fbs-external-wb-close-button:hover:not(:disabled) { color:#8b2420; background:#fff0ef; border-color:#c65049; }
.fbs-queue-menu-panel p { font-size:13px; padding:8px; }
.fbs-queue-details, .fbs-queue-confirm, .fbs-queue-card > .fbs-error { grid-column:1/-1; }
.fbs-queue-details > summary { display:flex; align-items:center; gap:6px; width:fit-content; min-height:30px; color:#64718b; font-size:12px; cursor:pointer; list-style:none; }
.fbs-queue-details > summary svg { width:14px; height:14px; }
.fbs-queue-v2 .fbs-queue-card .fbs-queue-details .fbs-assembly-queue-meta { margin:8px 0 0; border-top:1px solid #eceef5; padding-top:12px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.fbs-queue-v2 .fbs-queue-card .fbs-queue-details dl > div { min-width:0; padding:10px 12px; border-radius:8px; background:#f4f6fa; }
.fbs-queue-v2 .fbs-queue-card .fbs-queue-details dt { margin:0 0 4px; line-height:1.4; }
.fbs-queue-v2 .fbs-queue-card .fbs-queue-details dd { margin:0; line-height:1.45; overflow-wrap:anywhere; }
.fbs-queue-confirm { padding:12px; border:1px solid #d8bce3; border-radius:10px; background:#fcf6ff; }
.fbs-queue-confirm [role="group"] { display:flex; flex-wrap:wrap; gap:8px; }
.fbs-queue-confirm p { flex-basis:100%; }
.fbs-queue-confirm button { min-height:44px; }
.fbs-queue-v2 button:focus-visible, .fbs-queue-v2 summary:focus-visible { outline:2px solid var(--queue-accent); outline-offset:3px; }
.fbs-queue-v2 .fbs-queue-empty { padding:20px; text-align:center; color:#576382; }
@media (max-width: 1000px) {
  .fbs-queue-v2 .fbs-assembly-queue-grid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width: 480px) {
  .fbs-queue-v2 .fbs-queue-heading { font-size:22px; }
  .fbs-queue-toolbar { gap:12px; }
  .fbs-queue-search { width:100%; }
  .fbs-queue-filters { width:100%; gap:6px; }
  .fbs-queue-filters button { flex:1; padding:8px; font-size:12px; gap:5px; }
  .fbs-queue-v2 .fbs-queue-card { padding:12px; grid-template-columns:86px minmax(0,1fr); gap:12px; border-left-width:4px; }
  .fbs-queue-progress { padding:12px 8px; }
  .fbs-queue-progress strong { font-size:28px; }
  .fbs-queue-progress > div { font-size:17px; }
  .fbs-queue-progress p { font-size:12px; }
  .fbs-queue-v2 .fbs-queue-info h3 { font-size:17px; }
  .fbs-queue-actions { grid-template-columns:1fr; gap:8px; }
  .fbs-queue-menu-panel { position:static; width:100%; max-width:none; margin-top:6px; box-shadow:none; }
  .fbs-queue-v2 .fbs-queue-card .fbs-queue-details .fbs-assembly-queue-meta { grid-template-columns:1fr; }
}

.fbs-assembly-queue-card.is-closing {
  border-color: rgba(187, 58, 53, 0.35);
}

.fbs-assembly-queue-actions {
  display: grid;
  gap: 9px;
}

.fbs-external-wb-close-button {
  color: var(--danger);
  background: transparent;
  border-color: rgba(187, 58, 53, 0.48);
}

.fbs-external-wb-close-button:hover:not(:disabled) {
  color: #fff;
  background: var(--danger);
  border-color: var(--danger);
}

.fbs-assembly-queue-card-error {
  margin: 0;
}

.fbs-session-queue .fbs-success {
  margin: 0;
  color: #146534;
  font-weight: 800;
}

.fbs-assembly-queue-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.fbs-assembly-queue-card > header > div,
.fbs-assembly-queue-card h3,
.fbs-assembly-queue-card p,
.fbs-assembly-queue-card dd {
  min-width: 0;
  overflow-wrap: anywhere;
}

.fbs-assembly-queue-status,
.fbs-assembly-queue-age {
  display: inline-flex;
  width: fit-content;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 900;
  border-radius: 999px;
}

.fbs-assembly-queue-status.is-free,
.fbs-assembly-queue-age.is-normal {
  color: #146534;
  background: #e6f6ec;
}

.fbs-assembly-queue-status.is-busy,
.fbs-assembly-queue-age.is-warning {
  color: #7a5300;
  background: #fff2c7;
}

.fbs-assembly-queue-age.is-critical {
  color: #9c2525;
  background: #fde3e3;
}

.fbs-session-queue .fbs-assembly-queue-meta,
.fbs-session-queue .fbs-assembly-queue-counts {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.fbs-session-queue .fbs-assembly-queue-meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fbs-session-queue .fbs-assembly-queue-counts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fbs-session-queue .fbs-assembly-queue-meta dd,
.fbs-session-queue .fbs-assembly-queue-counts dd {
  font-size: 16px;
}

.fbs-session-queue h3,
.fbs-session-product h2,
.fbs-session-review h3 {
  margin: 0;
}

.fbs-session-queue p,
.fbs-session-product p,
.fbs-session-review p {
  margin: 6px 0 0;
}

.fbs-session-queue dl,
.fbs-session-counters {
  display: grid;
  grid-template-columns: repeat(2, minmax(110px, 1fr));
  gap: 8px;
  margin: 0;
}

.fbs-session-queue dl div,
.fbs-session-counters div {
  padding: 10px 12px;
  background: var(--surface-soft);
  border-radius: 10px;
}

.fbs-session-queue dt,
.fbs-session-counters dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.fbs-session-queue dd,
.fbs-session-counters dd {
  margin: 3px 0 0;
  font-size: 22px;
  font-weight: 900;
}

.fbs-session-workspace > header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.fbs-session-workspace > header strong {
  font-size: clamp(24px, 5vw, 42px);
  line-height: 1;
}

.fbs-session-product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(160px, 24vw, 240px);
  align-items: center;
  gap: 20px;
  min-width: 0;
  min-height: 0;
  padding: 16px;
  background: #fff8ff;
  border: 1px solid #eac8e7;
  border-radius: 12px;
}

.fbs-product-sticker-id {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  padding: 10px 16px;
  margin-bottom: 12px;
  border: 2px solid #ad009c;
  border-radius: 10px;
  background: #fff;
  color: #172537;
}
.fbs-product-sticker-id > span { font-size: 13px; font-weight: 700; color: #7b2472; }
.fbs-product-sticker-id > div { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.fbs-product-sticker-id strong { font-size: 32px; font-weight: 900; }

.fbs-session-product-info {
  align-self: center;
  min-width: 0;
  overflow-wrap: anywhere;
}

.fbs-session-product-kiz {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
}

.fbs-session-product-kiz.is-needs_review strong {
  color: #c7352b;
}

.fbs-session-product-kiz.is-kiz_checking strong {
  color: #9a6700;
}

.fbs-session-product-kiz.is-ready strong {
  color: #167647;
}

.fbs-session-product-kiz-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fbs-session-product-kiz-actions .fbs-button {
  min-height: 36px;
  padding: 7px 12px;
}

.fbs-session-product-visual {
  display: grid;
  min-width: 0;
  min-height: 0;
  height: 220px;
  place-items: center;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.fbs-session-product-photo {
  width: 100%;
  height: 218px;
  max-height: 218px;
  object-fit: contain;
}

.fbs-session-product-photo-placeholder {
  color: var(--muted);
  font-weight: 800;
  text-align: center;
}

.fbs-session-workspace form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.fbs-session-workspace form label {
  display: grid;
  gap: 7px;
  font-weight: 800;
}

.fbs-session-workspace input {
  min-height: 58px;
  padding: 0 16px;
  color: #172433;
  font: inherit;
  font-size: 20px;
  border: 3px solid #c00aa5;
  border-radius: 10px;
}

.fbs-session-counters {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fbs-session-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.fbs-session-sticker {
  display: grid;
  justify-items: start;
  gap: 10px;
}

.fbs-session-sticker img {
  width: min(280px, 100%);
  aspect-ratio: 58 / 40;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.fbs-session-contents {
  display: grid;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.fbs-session-contents h3 {
  margin: 0;
}

/* Grouped assembly contents: quiet product headers, exact unit actions. */
.fbs-product-contents-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.fbs-product-contents-heading > span { color:var(--muted); font-size:14px; }
.fbs-product-contents-heading strong { color:var(--ink); }
.fbs-product-group { border:1px solid var(--line); border-radius:10px; background:#fff; overflow:hidden; }
.fbs-product-group-heading { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px 16px; background:#f8f9fb; }
.fbs-product-group-heading > img, .fbs-product-group-heading > .fbs-session-unit-photo-placeholder { width:48px; height:56px; object-fit:contain; border-radius:6px; }
.fbs-product-group-info { min-width:0; }
.fbs-product-group-info h4 { margin:0 0 4px; font-size:15px; line-height:1.4; overflow-wrap:anywhere; }
.fbs-product-group-info p { margin:0 0 3px; color:var(--muted); font-size:13px; overflow-wrap:anywhere; }
.fbs-product-group-info small { color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.fbs-product-group-progress { display:flex; align-items:baseline; gap:8px; color:var(--muted); font-size:13px; white-space:nowrap; }
.fbs-product-group-progress strong { color:#b000b5; margin:0; font-size:26px; font-weight:800; line-height:1.2; font-variant-numeric:tabular-nums; }
.fbs-product-group > ul { list-style:none; padding:0; margin:0; }
.fbs-product-group .fbs-product-unit { display:grid; grid-template-columns:minmax(150px,1fr) minmax(140px,1fr) minmax(150px,auto); gap:12px; min-height:58px; padding:10px 16px; background:#fff; }
.fbs-product-unit-label { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 16px; min-width:0; overflow-wrap:anywhere; }
.fbs-product-unit .fbs-session-unit-sticker-number { font-size:17px; gap:6px; }
.fbs-product-unit .fbs-session-unit-sticker-main { font-size:17px; font-weight:500; }
.fbs-product-order { font-size:16px; font-weight:700; color:var(--muted); }
.fbs-product-unit-label .fbs-product-order-select { display:inline-flex; align-items:center; justify-content:flex-start; gap:10px; margin:0; min-height:40px; max-width:100%; cursor:pointer; }
.fbs-session-workspace .fbs-product-order-select input[type="checkbox"] { appearance:auto; flex:0 0 20px; width:20px; height:20px; min-width:20px; min-height:20px; max-width:20px; max-height:20px; padding:0; margin:0; border:0; border-radius:4px; accent-color:#b000b5; cursor:pointer; }
.fbs-product-order-select input:focus-visible { outline:2px solid #b000b5; outline-offset:3px; }
.fbs-product-order-select:has(input:checked) .fbs-product-order { color:#b000b5; }
.fbs-product-group .fbs-product-unit.is-current { background:#fcf9fd; box-shadow:inset 3px 0 #b000b5; }
.fbs-session-contents .fbs-product-group .fbs-product-unit .fbs-session-unit-status { justify-self:start; border:0; border-radius:0; background:transparent; padding:0; color:#8a6400; font-size:13px; font-weight:600; white-space:normal; line-height:1.4; }
.fbs-product-group .fbs-product-unit.is-ready .fbs-session-unit-status { color:#146b42; }
.fbs-product-group .fbs-product-unit.is-needs_review .fbs-session-unit-status,
.fbs-product-group .fbs-product-unit.is-skipped_changed .fbs-session-unit-status { color:#b42318; }
.fbs-product-unit-action { justify-self:end; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.fbs-product-unit-action .fbs-button { min-height:40px; font-size:13px; background:#fff; border-color:#e5cce8; }
.fbs-product-unit-action .fbs-button:hover:not(:disabled) { background:#faf2fb; }
.fbs-product-transfer { font-size:13px; color:var(--muted); }
.fbs-product-transfer > summary { cursor:pointer; padding:10px 0; }
.fbs-product-transfer > label { display:flex; justify-content:flex-start; align-items:center; gap:10px; min-height:44px; width:fit-content; max-width:100%; padding:8px 10px; margin:4px 0; border-radius:8px; color:var(--ink); font-size:14px; font-weight:600; cursor:pointer; }
.fbs-product-transfer > label:hover, .fbs-product-transfer > label:has(input:checked) { background:#faf2fb; }
.fbs-session-workspace .fbs-product-transfer > label > input[type="checkbox"] { appearance:auto; flex:0 0 20px; width:20px; height:20px; min-width:20px; min-height:20px; max-width:20px; max-height:20px; padding:0; margin:0; border:0; border-radius:4px; accent-color:#b000b5; cursor:pointer; }
.fbs-product-transfer input[type="checkbox"]:focus-visible { outline:2px solid #b000b5; outline-offset:3px; }
@media(max-width:600px) {
 .fbs-product-group-heading { grid-template-columns:40px minmax(0,1fr); padding:12px; gap:8px 10px; }
 .fbs-product-group-heading > img, .fbs-product-group-heading > .fbs-session-unit-photo-placeholder { width:40px; height:48px; }
 .fbs-product-group-progress { grid-column:2; }
 .fbs-product-group .fbs-product-unit { grid-template-columns:minmax(0,1fr); gap:8px; padding:12px; }
 .fbs-product-unit-action { justify-self:stretch; grid-column:1/-1; }
 .fbs-product-group .fbs-session-unit-status { grid-column:auto; }
 .fbs-product-unit-action:empty { display:none; }
 .fbs-product-unit-action .fbs-button { width:100%; min-height:44px; }
 .fbs-product-contents-heading { align-items:flex-start; flex-wrap:wrap; }
}

.fbs-session-unit-group {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}

.fbs-session-unit-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  color: #172433;
  font-weight: 900;
  cursor: pointer;
  background: var(--surface-soft);
}

.fbs-session-unit-group summary strong {
  display: grid;
  min-width: 32px;
  min-height: 32px;
  place-items: center;
  color: #fff;
  border-radius: 999px;
  background: #b20aa3;
}

.fbs-session-unit-group ul {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fbs-session-unit-group > p {
  margin: 0;
  padding: 14px 16px;
  color: var(--muted);
}

.fbs-session-unit-row {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-top: 1px solid var(--line);
}

.fbs-session-unit-row.is-current {
  background: #fff3fd;
  box-shadow: inset 4px 0 #b20aa3;
}

.fbs-session-unit-row img,
.fbs-session-unit-photo-placeholder {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface-soft);
}

.fbs-session-unit-photo-placeholder {
  display: grid;
  place-items: center;
  padding: 4px;
  color: var(--muted);
  font-size: 9px;
  text-align: center;
}

.fbs-session-unit-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.fbs-session-unit-main strong,
.fbs-session-unit-main small {
  overflow-wrap: anywhere;
}

.fbs-session-unit-main small {
  color: var(--muted);
}

.fbs-session-unit-status {
  padding: 6px 9px;
  color: #735400;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  border-radius: 999px;
  background: #fff1be;
}

.fbs-session-unit-reason {
  display: block;
  max-width: 380px;
  white-space: normal;
  overflow-wrap: anywhere;
  color: #9b241c;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}

.fbs-session-unit-state {
  display: grid;
  justify-items: end;
  gap: 6px;
}

.fbs-session-unit-sticker-number {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  white-space: nowrap;
}

.fbs-session-unit-reprint {
  min-height: 36px;
  padding: 6px 10px;
  font-size: 12px;
  white-space: nowrap;
}

.fbs-session-unit-sticker-main {
  font-size: 14px;
  font-weight: 600;
}

.fbs-session-unit-sticker-suffix {
  font-size: 17px;
  font-weight: 900;
}

.fbs-session-unit-row.is-ready .fbs-session-unit-status {
  color: #146b42;
  background: #e2f6eb;
}

.fbs-session-unit-row.is-needs_review .fbs-session-unit-status,
.fbs-session-unit-row.is-skipped_changed .fbs-session-unit-status {
  color: #b42318;
  background: #ffebe9;
}

.fbs-session-review {
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.fbs-session-review ul {
  display: grid;
  gap: 8px;
  padding-left: 20px;
}

.fbs-session-review li {
  overflow-wrap: anywhere;
}

.fbs-session-review ul { list-style: none; padding-left: 0; gap: 12px; }
.fbs-session-review .fbs-review-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 16px; padding: 18px; border: 1px solid #e5c3e3; border-left: 4px solid #ad009c; border-radius: 12px; background: #fff7fc; color: #172537; }
.fbs-review-label { display: block; font-size: 18px; line-height: 1.4; font-weight: 800; }
.fbs-session-review .fbs-review-reason { margin: 8px 0 0; font-size: 15px; line-height: 1.6; color: #27394d; }
.fbs-review-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.fbs-review-actions button { min-height: 42px; }
@media(max-width: 700px) { .fbs-session-review .fbs-review-card { grid-template-columns: 1fr; padding: 14px; gap: 12px; } .fbs-review-actions button { flex: 1; } }

.fbs-session-kiz-summary {
  padding: 16px;
  border: 1px solid #e8b8e5;
  border-radius: 12px;
  background: #fff8ff;
}

.fbs-session-kiz-summary h3,
.fbs-session-kiz-summary p {
  margin: 0;
}

.fbs-session-kiz-summary ul {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.fbs-session-kiz-summary li {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 16px;
}

.fbs-box-formation-entry > p {
  max-width: 72ch;
  margin: 0;
  color: var(--muted);
}

.fbs-box-formation-entry > .fbs-delivery-reserve-note {
  padding: 10px 12px;
  color: #805b12;
  background: #fff7dd;
  border: 1px solid #eedca0;
  border-radius: 10px;
}

.fbs-supply-box-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
  gap: 14px;
  min-width: 0;
}

.fbs-supply-box-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.fbs-supply-box-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.fbs-supply-box-card h3,
.fbs-supply-box-card p {
  margin: 0;
}

.fbs-supply-box-card header p,
.fbs-supply-box-card dt {
  color: var(--muted);
}

.fbs-supply-box-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.fbs-supply-box-card dl div {
  min-width: 0;
}

.fbs-supply-box-card dt {
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.fbs-supply-box-card dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
}

.fbs-supply-box-id {
  display: inline-block;
  max-width: 100%;
  margin: 2px 4px 2px 0;
  padding: 3px 6px;
  overflow-wrap: anywhere;
  color: #17633a;
  background: #e8f6ee;
  border: 1px solid #bfe4cd;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 800;
}

.fbs-success-badge {
  color: #087443;
  background: #e9f8f0;
  border: 1px solid #a9dfc1;
  border-radius: 999px;
  padding: 6px 12px;
  font-weight: 800;
}

.fbs-orders-table {
  width: 100%;
  min-width: 1500px;
  border-collapse: collapse;
}

.fbs-orders-table th,
.fbs-orders-table td {
  padding: 11px 12px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
}

.fbs-orders-table th {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  background: var(--surface-soft);
}

.fbs-order-kiz-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid #d5dde6;
  border-radius: 999px;
  background: #f4f7fa;
  color: #607083;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.fbs-order-kiz-status.is-accepted { border-color: #b8e0c6; background: #edf9f1; color: #16733a; }
.fbs-order-kiz-status.is-checking { border-color: #f0d38f; background: #fff7df; color: #8a6214; }
.fbs-order-kiz-status.is-error { border-color: #f0b7b2; background: #fff0ef; color: #b93028; }
.fbs-order-kiz-status.is-awaiting { border-color: #d9b9e2; background: #fbf0ff; color: #8c2999; }
.fbs-order-kiz-status.is-not-required,
.fbs-order-kiz-status.is-unknown { color: #718096; }

.fbs-orders-row {
  cursor: pointer;
}

.fbs-orders-row td {
  vertical-align: middle;
}

.fbs-supply-group-row td {
  padding-top: 12px;
  padding-bottom: 12px;
  vertical-align: middle;
  background: #ece5f5;
  border-bottom-color: #cbb9dc;
}

.fbs-supply-group-row td:first-child { width: 42px; padding-right: 4px; text-align: center; }
.fbs-supply-group-select {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  margin: 0;
}

.fbs-supply-group-toggle {
  display: grid;
  width: 100%;
  grid-template-columns: auto minmax(240px, 1fr) minmax(110px, auto) auto auto;
  align-items: center;
  gap: 18px;
  padding: 0;
  color: var(--ink);
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.fbs-supply-group-toggle:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; border-radius: 8px; }
.fbs-supply-group-caret { color: var(--brand); font-size: 22px; font-weight: 900; }
.fbs-supply-group-identity { display: flex; flex-direction: column; gap: 3px; }
.fbs-supply-group-identity > strong { font-size: 18px; }
.fbs-supply-group-identity small,
.fbs-supply-group-age small { color: var(--muted); font-size: 12px; }
.fbs-supply-group-age { display: flex; flex-direction: column; gap: 3px; }
.fbs-supply-group-count { min-width: 90px; font-size: 16px; text-align: right; white-space: nowrap; }

.fbs-barcode-group-row td {
  padding-top: 9px;
  padding-bottom: 9px;
  vertical-align: middle;
  background: #f4f0fa;
  border-bottom-color: #dacbe7;
}

.fbs-barcode-group-row td:first-child { width: 42px; padding-right: 4px; text-align: center; }
.fbs-barcode-group-select {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  margin: 0;
  accent-color: var(--brand);
  cursor: pointer;
}

.fbs-barcode-group-toggle {
  display: grid;
  width: 100%;
  grid-template-columns: auto 58px minmax(220px, 560px) minmax(180px, 1fr);
  align-items: center;
  gap: 12px;
  padding: 0;
  color: var(--ink);
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.fbs-barcode-group-toggle:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 4px;
  border-radius: 8px;
}

.fbs-barcode-group-caret { color: var(--brand); font-size: 20px; font-weight: 900; }

.fbs-barcode-group-photo {
  width: 50px;
  height: 58px;
  object-fit: cover;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.fbs-barcode-group-photo.is-empty { display: grid; place-items: center; color: var(--muted); }
.fbs-barcode-group-identity { display: flex; flex-direction: column; gap: 3px; }
.fbs-barcode-group-identity > strong { font-size: 16px; }
.fbs-barcode-group-identity small { color: var(--muted); font-size: 12px; }
.fbs-barcode-group-barcodes { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 2px; }
.fbs-barcode-group-barcode {
  padding: 2px 7px;
  color: #6f2380;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  background: #fff;
  border: 1px solid #d9b6df;
  border-radius: 999px;
}
.fbs-barcode-group-barcode.is-empty { color: var(--muted); }
.fbs-barcode-group-collect {
  min-width: 150px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  justify-self: start;
  padding-left: 28px;
  text-align: left;
  white-space: nowrap;
}
.fbs-orders-row[data-fbs-group-order] td:first-child { padding-left: 22px; }

@media (max-width: 720px) {
  .fbs-supply-group-toggle { grid-template-columns: auto minmax(180px, 1fr) auto; gap: 10px; }
  .fbs-supply-group-age { grid-column: 2; }
  .fbs-supply-group-count { min-width: 0; font-size: 14px; }
  .fbs-barcode-group-toggle { grid-template-columns: auto 48px minmax(180px, 1fr); }
  .fbs-barcode-group-collect { grid-column: 3; min-width: 0; text-align: left; }
}

.fbs-order-supply {
  display: flex;
  min-width: 190px;
  flex-direction: column;
  gap: 3px;
}

.fbs-order-supply-id {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
}

.fbs-order-supply-name,
.fbs-order-supply-empty {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}

.fbs-order-supply-pass-button {
  align-self: flex-start;
  margin-top: 3px;
  padding: 5px 9px;
  border: 1px solid var(--brand);
  border-radius: 8px;
  background: #fff;
  color: var(--brand);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.fbs-order-supply-pass-button:disabled { cursor: wait; opacity: 0.65; }
.fbs-order-supply-pass-error { color: var(--danger); font-size: 11px; }

.fbs-order-barcodes {
  display: flex;
  min-width: 130px;
  flex-direction: column;
  gap: 2px;
  line-height: 1.2;
}

.fbs-order-barcode-primary {
  color: var(--ink);
  font-size: 14px;
  white-space: nowrap;
}

.fbs-order-barcode-extra {
  color: var(--muted);
  font-size: 11px;
  white-space: nowrap;
}

.fbs-box-allocation {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 150px;
}

.fbs-box-preference {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  max-width: 280px;
}

.fbs-box-preference-select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.fbs-box-preference .fbs-box-allocation {
  min-width: 0;
  max-width: 100%;
}

.fbs-box-preference-error {
  color: #b42318;
  font-size: 12px;
  white-space: normal;
}

.fbs-box-allocation-fragment {
  display: inline-flex;
  padding: 4px 7px;
  color: #17633a;
  background: #e8f6ee;
  border: 1px solid #bfe4cd;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.fbs-box-allocation-state {
  color: var(--muted);
  font-size: 12px;
}

.fbs-box-allocation-state.is-insufficient,
.fbs-box-allocation-state.is-invalid {
  color: #b42318;
}

@media (max-width: 720px) {
  .fbs-box-preference {
    width: 100%;
    max-width: none;
  }

  .fbs-box-allocation {
    flex-direction: column;
    align-items: flex-start;
  }
}

.fbs-orders-row td strong[data-fbs-age-at] {
  display: block;
  color: #172433;
  white-space: nowrap;
}

.fbs-order-age {
  width: fit-content;
  padding: 4px 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  line-height: 1.2;
}

.fbs-order-age.is-warning {
  border-color: #f0cf75;
  color: #805b00;
  background: #fff7d8;
}

.fbs-order-age.is-critical {
  border-color: #efb4b4;
  color: #b42318;
  background: #fff0f0;
}

.fbs-orders-row td small {
  display: block;
  margin-top: 3px;
  color: #718096;
  white-space: nowrap;
}

.fbs-orders-row td .fbs-box-preference-error {
  color: #b42318;
  white-space: normal;
  overflow-wrap: anywhere;
}

.fbs-order-wb-status {
  display: inline-flex;
  align-items: center;
  margin-top: 6px;
  padding: 3px 8px;
  border: 1px solid #e5c5e8;
  border-radius: 999px;
  color: #8f1486;
  background: #fbecfa;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
}

.fbs-order-wb-status.is-success {
  border-color: #b9dfca;
  color: #146c43;
  background: #eaf8f0;
}

.fbs-order-wb-status.is-cancelled {
  border-color: #efc2c2;
  color: #b42318;
  background: #fff0f0;
}

.fbs-order-wb-status.is-unknown {
  border-color: #d8e0e8;
  color: #64748b;
  background: #f2f5f8;
}

.fbs-orders-row:has([data-fbs-order-select]:checked) {
  background: #fff1fc;
}

[data-fbs-order-select],
[data-fbs-supply-select],
[data-fbs-select-all] {
  width: 18px;
  height: 18px;
  accent-color: #b20aa3;
}

.fbs-order-product-photo {
  display: block;
  width: 48px;
  height: 58px;
  border-radius: 8px;
  object-fit: cover;
  background: #edf2f7;
  border: 1px solid #d9e2ec;
}

.fbs-order-product-photo.is-empty {
  display: grid;
  place-items: center;
  color: #718096;
}

.fbs-orders-row:hover,
.fbs-orders-row:focus-visible {
  background: #fff8ff;
}

.fbs-orders-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.fbs-orders-preview {
  width: min(900px, calc(100% - 24px));
  max-height: calc(100vh - 24px);
  padding: 20px;
  overflow: auto;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow);
}

.fbs-orders-preview::backdrop {
  background: rgba(24, 18, 31, 0.58);
}

/* FBS order card */
.fbs-preview-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:16px; }
.fbs-preview-summary > strong { font-size:22px; overflow-wrap:anywhere; }
.fbs-preview-summary > span { color:#a20aa2; font-weight:700; }
.fbs-preview-wb-status { color:var(--muted); font-size:13px; margin:6px 0 16px; }
.fbs-preview-product { display:grid; grid-template-columns:80px minmax(0,1fr); gap:16px; padding:16px; border:1px solid var(--line); border-radius:10px; margin:10px 0; }
.fbs-preview-product img,.fbs-preview-photo-empty { width:80px; height:100px; object-fit:contain; border-radius:6px; }
.fbs-preview-photo-empty { display:grid; place-items:center; background:var(--surface-soft); color:var(--muted); font-size:12px; }
.fbs-preview-product-info { min-width:0; overflow-wrap:anywhere; }
.fbs-preview-product-info h3 { font-size:16px; line-height:1.4; }
.fbs-preview-product-info p { margin:6px 0; font-size:14px; }
.fbs-preview-barcodes { display:flex; flex-direction:column; gap:3px; font-size:13px; margin-top:10px; }
.fbs-preview-barcodes > span { color:var(--muted); }
.fbs-preview-barcodes > strong { font-variant-numeric:tabular-nums; }
.fbs-preview-boxes { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:16px 0; }
.fbs-preview-comment { overflow-wrap:anywhere; }
.fbs-preview-technical { border-top:1px solid var(--line); margin-top:20px; padding-top:14px; }
.fbs-preview-technical summary { color:var(--muted); cursor:pointer; font-size:13px; }
@media(max-width:600px) {
  .fbs-orders-preview { box-sizing:border-box; padding:14px; max-height:calc(100dvh - 24px); }
  .fbs-orders-preview .fbs-preview-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fbs-preview-product { grid-template-columns:56px minmax(0,1fr); gap:10px; padding:10px; }
  .fbs-preview-product img,.fbs-preview-photo-empty { width:56px; height:76px; }
  .fbs-preview-summary > strong { font-size:19px; }
}
/* End FBS order card */

.fbs-no-box-override {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  color: #805b12;
  background: #fff7dd;
  border: 1px solid #eedca0;
  border-radius: 8px;
}

.fbs-no-box-override p {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.fbs-no-box-override-active {
  color: #17633a;
  background: #e8f6ee;
  border-color: #bfe4cd;
}

.fbs-no-box-override .fbs-button {
  flex: 0 0 auto;
}

.fbs-orders-preview-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.fbs-orders-preview-meta div {
  min-width: 0;
  padding: 10px;
  background: var(--surface-soft);
  border-radius: 8px;
}

.fbs-orders-preview-meta dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.fbs-orders-preview-meta dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
}

.fbs-orders-technical {
  max-width: 100%;
  max-height: 280px;
  padding: 12px;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: #16131a;
  color: #f7eef8;
  border-radius: 8px;
}

@media (max-width: 480px) {
  .fbs-page {
    width: min(100% - 16px, 100%);
    max-width: 100%;
  }

  .fbs-toolbar,
  .fbs-form,
  .fbs-meta {
    grid-template-columns: 1fr;
  }

  .fbs-client-header,
  .fbs-card-heading,
  .fbs-form-actions,
  .fbs-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .fbs-toolbar .fbs-button,
  .fbs-client-header .fbs-button,
  .fbs-form-actions .fbs-button,
  .fbs-actions .fbs-action {
    width: 100%;
  }

  .fbs-client-view,
  .fbs-card,
  .fbs-toolbar,
  .fbs-form {
    padding: 14px;
  }

  .fbs-cabinets-list {
    grid-template-columns: 1fr;
    padding: 10px;
  }

  .fbs-orders-heading,
  .fbs-orders-preview-header,
  .fbs-orders-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .fbs-orders-kpis,
  .fbs-orders-history,
  .fbs-orders-filters,
  .fbs-orders-preview-meta {
    grid-template-columns: 1fr;
  }

  .fbs-orders-search {
    grid-column: auto;
  }

  .fbs-handoff-result {
    padding: 12px;
  }

  .fbs-handoff-groups {
    grid-template-columns: 1fr;
  }

  .fbs-orders-history .fbs-button,
  .fbs-orders-filters .fbs-button,
  .fbs-orders-actions .fbs-button,
  .fbs-orders-pagination .fbs-button,
  .fbs-no-box-override .fbs-button {
    width: 100%;
  }

  .fbs-no-box-override {
    align-items: stretch;
    flex-direction: column;
  }

  .fbs-session-queue,
  .fbs-session-workspace {
    width: 100%;
    padding: 16px;
    border-radius: 0;
  }

  .fbs-session-queue,
  .fbs-session-workspace form {
    grid-template-columns: 1fr;
  }

  .fbs-session-queue .fbs-button,
  .fbs-session-workspace form .fbs-button,
  .fbs-session-actions .fbs-button {
    width: 100%;
  }

  .fbs-assembly-queue-actions {
    width: 100%;
  }

  .fbs-assembly-queue-card > header {
    align-items: stretch;
    flex-direction: column;
  }

  .fbs-session-queue .fbs-assembly-queue-meta,
  .fbs-session-queue .fbs-assembly-queue-counts {
    grid-template-columns: 1fr;
  }

  .fbs-session-counters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fbs-session-unit-row {
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 10px;
  }

  .fbs-session-unit-row img,
  .fbs-session-unit-photo-placeholder {
    width: 44px;
    height: 44px;
  }

  .fbs-session-unit-status {
    grid-column: 2;
    justify-self: start;
    white-space: normal;
  }

  .fbs-supply-box-card dl {
    grid-template-columns: 1fr;
  }

  .fbs-session-product {
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: 12px;
    padding: 12px;
    min-height: 0;
  }

  .fbs-session-product-visual {
    align-self: start;
    height: 120px;
    min-height: 0;
  }

  .fbs-session-product-photo {
    height: 118px;
    max-height: 118px;
  }
}
.client-secret-input {
  -webkit-text-security: disc;
}

.fbs-mobile-product-list {
  display: none;
}

#fbsOrdersView > .fbs-success {
  margin: 16px 0;
  padding: 12px 16px;
  border: 1px solid #86cda6;
  border-left: 4px solid #238451;
  border-radius: 10px;
  background: #edf8f1;
  color: #146534;
  font-weight: 600;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.fbs-membership-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-soft);
}

.fbs-membership-panel label {
  min-width: 0;
  flex: 1 1 260px;
  max-width: 100%;
}

.fbs-membership-destination {
  display: block;
  margin-top: 6px;
  line-height: 1.45;
  overflow-wrap: anywhere;
  color: var(--muted);
}

.fbs-membership-panel select {
  display: block;
  min-width: 240px;
  min-height: 44px;
  margin-top: 4px;
  width: 100%;
  max-width: 100%;
}

.fbs-membership-panel .fbs-error {
  flex-basis: 100%;
  margin: 0;
}

.fbs-membership-counts {
  margin: 0;
  align-self: center;
  margin-right: auto;
}

.fbs-session-unit-row.has-membership-select {
  grid-template-columns: 44px 52px minmax(0, 1fr) auto;
}
.fbs-membership-unit-select {
  display: flex;
  width: 44px;
  height: 44px;
  margin: 0;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.fbs-membership-unit-select input[type="checkbox"] {
  width: 20px;
  height: 20px;
  min-height: 20px;
  padding: 0;
  margin: 0;
  accent-color: var(--brand);
}
@media (max-width: 768px) {
  .fbs-session-unit-row.has-membership-select {
    grid-template-columns: 44px 44px minmax(0, 1fr);
    gap: 8px;
  }
  .fbs-session-unit-row.has-membership-select .fbs-session-unit-state {
    grid-column: 3;
    justify-self: start;
  }
}

@media (max-width: 768px) {
  body {
    overflow-x: hidden;
  }

  .fbs-orders-table-wrap {
    display: none;
  }

  .fbs-mobile-product-list {
    display: grid;
    gap: 12px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .fbs-mobile-product-card,
  .fbs-mobile-product-empty {
    display: grid;
    gap: 14px;
    min-width: 0;
    max-width: 100%;
    padding: 14px;
    overflow-wrap: anywhere;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 12px;
  }

  .fbs-mobile-product-summary {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
  }

  .fbs-mobile-product-summary h3,
  .fbs-mobile-product-summary p,
  .fbs-mobile-product-facts,
  .fbs-mobile-product-details dl {
    margin: 0;
  }

  .fbs-mobile-product-photo {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    object-fit: cover;
    color: var(--muted);
    background: var(--surface-soft);
    border: 1px solid var(--line);
    border-radius: 8px;
  }

  .fbs-mobile-product-quantity {
    margin-top: 6px !important;
    color: var(--ink);
    font-weight: 900;
  }

  .fbs-mobile-product-facts,
  .fbs-mobile-product-details dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .fbs-mobile-product-facts div,
  .fbs-mobile-product-details dl div {
    min-width: 0;
  }

  .fbs-mobile-product-facts dt,
  .fbs-mobile-product-details dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
  }

  .fbs-mobile-product-facts dd,
  .fbs-mobile-product-details dd {
    margin: 4px 0 0;
    overflow-wrap: anywhere;
  }

  .fbs-mobile-product-boxes {
    grid-column: 1 / -1;
  }

  .fbs-mobile-product-barcodes {
    display: grid;
    gap: 4px;
  }

  .fbs-mobile-product-barcodes span,
  .fbs-mobile-product-card .fbs-box-allocation-fragment {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .fbs-mobile-product-card .fbs-box-allocation {
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
  }

  .fbs-mobile-product-details {
    min-width: 0;
    border-top: 1px solid var(--line);
  }

  .fbs-mobile-product-card summary {
    display: flex;
    min-height: 44px;
    align-items: center;
    cursor: pointer;
    font-weight: 900;
  }

  .fbs-mobile-product-empty {
    text-align: center;
  }

  .fbs-mobile-product-empty .fbs-button,
  .fbs-orders-filters input,
  .fbs-orders-filters select,
  .fbs-orders-filters .fbs-button {
    min-height: 44px;
  }

  .fbs-orders-filters .fbs-orders-search {
    order: -1;
  }

  .fbs-membership-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .fbs-membership-panel select,
  .fbs-membership-panel input,
  .fbs-membership-panel .fbs-button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
  }
}
/* Isolated Yandex FBS workspace; the WB workflow keeps its own selectors. */
#fbsWbWorkspace[hidden], #yandexFbsView[hidden] { display: none !important; }
#yandexFbsView { min-width: 0; }
#fbsSelectWb, #fbsSelectYandex { min-height: 42px; padding: 10px 18px; border-radius: 8px; border: 1px solid transparent; cursor: pointer; font-weight: 700; }
#yandexFbsView .fbs-button { min-height: 42px; border: 1px solid #e8cbea; background: #f7eaf8; color: #a800a4; cursor: pointer; }
#yandexFbsView .fbs-button:disabled { opacity: .55; cursor: wait; }
#yandexFbsView .ym-stage-tabs button[aria-pressed="true"] { background: #a800a4; color: white; }
.ym-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin: 20px 0; }
.ym-toolbar label { display: grid; gap: 6px; flex: 1 1 240px; min-width: 0; color: #60758a; font-size: 13px; }
.ym-toolbar input, .ym-toolbar select { width: 100%; min-width: 0; box-sizing: border-box; }
.ym-stage-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
.ym-stage-tabs button[aria-pressed="true"], #fbsSelectWb[aria-pressed="true"], #fbsSelectYandex[aria-pressed="true"] { background: #a800a4; color: white; }
.ym-notice { background: #fff7df; padding: 12px 16px; border-radius: 10px; color: #765317; font-size: 14px; }
.ym-status { color: #60758a; }
.ym-status[role="alert"] { color: #b42318; }
.ym-orders { display: grid; gap: 12px; }
.ym-order { background: white; border: 1px solid #d4e0ea; border-radius: 12px; padding: 16px; min-width: 0; overflow-wrap: anywhere; }
.ym-order-head { display: flex; justify-content: space-between; align-items: start; gap: 16px; margin-bottom: 8px; }
.ym-order small { display: block; color: #60758a; margin-top: 5px; }
.ym-order .ym-shipment-date { color: #142431; font-weight: 800; white-space: nowrap; }
.ym-badge { border-radius: 20px; background: #f3eafa; padding: 5px 10px; font-size: 12px; flex-shrink: 0; }
.ym-item { display: flex; align-items: center; gap: 12px; border-top: 1px solid #edf1f5; padding-top: 12px; margin-top: 12px; }
.ym-item > div { flex: 1; min-width: 0; }
.ym-item > strong { white-space: nowrap; }
.ym-item img { width: 52px; height: 64px; object-fit: contain; border-radius: 6px; }
.ym-shipment-group { margin-top: 24px; }
.ym-shipment-group > summary { cursor: pointer; padding: 16px; background: #edf4f8; border-radius: 10px; font-weight: 700; }
.ym-shipment-group .ym-order { margin-top: 10px; }
.ym-command-panel { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 14px; border: 1px solid #d4e0ea; border-radius: 12px; background: #edf4f8; }
.ym-command-panel > strong { margin-right: auto; }
.ym-command-result { flex: 1 0 100%; font-size: 14px; overflow-wrap: anywhere; }
.ym-command-result p { margin: 6px 0; }
.ym-print-link { display: inline-block; padding: 10px; color: #8e008c; font-weight: 700; }
#yandexFbsView input.ym-order-check { appearance: auto; width: 22px; height: 22px; min-width: 22px; min-height: 22px; padding: 0; margin: 2px 0; flex: 0 0 22px; accent-color: #a800a4; }
.ym-order-head > div { flex: 1; }
.ym-source-label { display: grid; gap: 5px; margin-top: 10px; font-size: 12px; max-width: 330px; color: #60758a; }
.ym-source-label select { width: 100%; min-width: 0; }
.ym-operation-state { padding: 8px 10px; border-radius: 8px; background: #ecf8f1; color: #176746; font-weight: 700; }
.ym-package-editor { margin-top: 12px; border-top: 1px solid #edf1f5; padding-top: 10px; }
.ym-package-editor summary { cursor: pointer; font-size: 14px; font-weight: 700; color: #940093; }
.ym-package-editor > label { display: grid; gap: 6px; max-width: 220px; margin: 12px 0; }
.ym-package-item { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.ym-package-item strong { flex: 1 0 100%; }
.ym-package-item label { display: grid; gap: 4px; width: 100px; font-size: 12px; }
.ym-package-item input { width: 100%; min-width: 0; }
@media (max-width: 600px) { .ym-order-head { flex-direction: column; gap: 8px; } .ym-toolbar { gap: 10px; } .ym-toolbar label { flex-basis: 100%; } .ym-stage-tabs button { flex: 1 1 140px; } .ym-item { flex-wrap: wrap; } }
.fbs-shipping-panel { width: 100%; min-width: 0; padding: 16px; border: 1px solid #d4dfe9; border-radius: 12px; background: #f7fafc; }
.fbs-shipping-panel h4 { margin: 0 0 12px; }
.fbs-shipping-fields { display: grid; grid-template-columns: minmax(0, 1fr) auto repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: 12px; }
.fbs-shipping-fields label { display: grid; gap: 6px; flex: 1 1 180px; min-width: 0; font-size: 13px; }
.fbs-shipping-fields input, .fbs-shipping-fields select { box-sizing: border-box; width: 100%; min-width: 0; height: 44px; min-height: 44px; padding: 8px 10px; font-size: 14px; line-height: 20px; border: 1px solid #cbd8e5; border-radius: 8px; background: white; }
.fbs-shipping-fields .fbs-button { box-sizing: border-box; height: 44px; min-height: 44px; padding: 8px 12px; font-size: 14px; line-height: 20px; white-space: nowrap; }
.fbs-shipping-panel p { font-size: 13px; margin: 12px 0 0; }
@media (max-width: 1000px) { .fbs-shipping-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fbs-shipping-fields { grid-template-columns: minmax(0, 1fr); } .fbs-shipping-fields .fbs-button { width: 100%; } }

/* Ozon FBS pre-assembly marking: unique selectors because ozon-fbs.css loads later. */
#ozonFbsView .ozon-marking:not(:empty) { display: grid; gap: 10px; margin-top: 14px; padding: 14px; border: 1px solid #cbd8e5; border-radius: 10px; background: #f7fafc; }
#ozonFbsView .ozon-marking-title { color: #142431; }
#ozonFbsView .ozon-marking-progress, #ozonFbsView .ozon-marking-readiness { margin: 0; font-size: 13px; color: #42586b; }
#ozonFbsView .ozon-marking-readiness { font-weight: 700; }
#ozonFbsView .ozon-marking-product-label, #ozonFbsView .ozon-marking-scan-label { display: grid; gap: 6px; min-width: 0; max-width: 440px; color: #42586b; font-size: 13px; }
#ozonFbsView .ozon-marking-product, #ozonFbsView .ozon-marking-input { width: 100%; min-width: 0; box-sizing: border-box; min-height: 42px; padding: 8px 10px; border: 1px solid #b9cbd9; border-radius: 8px; background: #fff; color: #142431; font: inherit; }
#ozonFbsView .ozon-marking-product:focus-visible, #ozonFbsView .ozon-marking-input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
#ozonFbsView .ozon-marking-input:disabled { background: #edf1f5; color: #60758a; }
#ozonFbsView .ozon-marking-group { display: grid; gap: 4px; min-width: 0; padding-top: 8px; border-top: 1px solid #e2eaf1; font-size: 13px; }
#ozonFbsView .ozon-marking-unit { color: #42586b; }
#ozonFbsView .ozon-marking > .ozon-button { justify-self: start; }
@media (max-width: 640px) { #ozonFbsView .ozon-marking > .ozon-button, #ozonFbsView .ozon-marking-product-label, #ozonFbsView .ozon-marking-scan-label { width: 100%; max-width: none; } }
/* Invoice merge controls */
#invoiceScopeTabs { display:flex; flex-wrap:wrap; width:fit-content; max-width:100%; }
#invoiceScopeTabs button { min-width:0; flex:1 1 auto; white-space:normal; }
.invoice-origin-label { display:block; font-size:11px; color:#61758b; margin-top:4px; }
.invoice-row .invoice-merge-select { width:18px; height:18px; min-height:0; padding:0; margin:0 8px 0 0; flex:none; accent-color:#b000a5; vertical-align:middle; }
.invoice-merge-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:12px 16px; }
.invoice-merge-toolbar[hidden] { display:none; }
.invoice-merge-toolbar p { margin:0; }
.invoice-merge-dialog { width:min(720px,calc(100vw - 32px)); max-height:85vh; overflow:auto; border:1px solid #d6e1ef; border-radius:16px; padding:22px; color:#172537; }
.invoice-merge-dialog::backdrop { background:#17253780; }
.invoice-merge-dialog header,.invoice-merge-dialog footer { display:flex; gap:16px; align-items:center; justify-content:space-between; }
.invoice-merge-dialog h2 { margin:0; font-size:22px; }
.invoice-merge-dialog button { min-height:40px; border-radius:8px; border:1px solid #e7c9eb; padding:8px 14px; cursor:pointer; }
.invoice-merge-dialog [data-merge-confirm] { background:#b000a5; color:white; margin-left:auto; }
.invoice-merge-dialog button:disabled { opacity:.5; cursor:default; }
.invoice-merge-lines { background:#f5f8fc; border-radius:8px; padding:12px; max-height:35vh; overflow:auto; margin-bottom:16px; }
.invoice-merge-lines p { padding:5px 0; overflow-wrap:anywhere; }
.invoice-merge-dialog [role=alert] { color:#b42318; margin:12px 0; }
.invoice-merge-source-links { display:flex; gap:8px; flex-wrap:wrap; font-size:12px; }
@media(max-width:600px) { .invoice-merge-dialog { padding:14px; } .invoice-merge-dialog button { min-height:44px; } .invoice-merge-toolbar { align-items:stretch; } .invoice-merge-toolbar>button { flex:1; } }
.fbs-kiz-repeat-warning {
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid #d6ab43;
  border-radius: 8px;
  background: #fff9e9;
  color: #795000;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.fbs-kiz-repeat-warning p { flex: 1 1 260px; margin: 0; }
.fbs-kiz-repeat-warning .fbs-button {
  background: #ad08ad;
  color: #fff;
  border: 1px solid #ad08ad;
  white-space: normal;
  max-width: 100%;
}
.fbs-kiz-repeat-warning .fbs-button:hover { background: #8d078d; border-color: #8d078d; color: #fff; }
/* Requests page: narrow-screen layout without hiding horizontal overflow. */
@media (max-width: 1280px) {
  #homePage .topbar { flex-direction: column; align-items: stretch; }
  #homePage .home-actions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  #homePage .home-actions button { min-width: 0; padding: 10px 8px; line-height: 1.25; overflow-wrap: anywhere; }
  #homePage .request-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #homePage .field-row, #homePage input, #homePage select { min-width: 0; max-width: 100%; }
  #homePage .requests-header { display: flex; flex-wrap: wrap; gap: 6px 12px; padding: 12px; }
  #homePage .requests-header > span { display: none; }
  #homePage .requests-header .sort-button { min-height: 36px; white-space: normal; }
  #homePage .requests-list { display: grid; gap: 12px; padding: 12px; }
  #homePage .request-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; }
  #homePage .request-row:last-child { border-bottom: 1px solid var(--line); }
  #homePage .request-row > span { overflow-wrap: anywhere; }
  #homePage .request-created-date { display: block; }
  #homePage .request-created-date > span { display: block; }
  #homePage .request-row > span::before { display: block; margin-bottom: 4px; color: var(--muted); font-size: 11px; font-weight: 500; }
  #homePage .request-row > span:nth-child(2)::before { content: "Создана"; }
  #homePage .request-row > span:nth-child(3) { grid-column: 1 / -1; }
  #homePage .request-row > span:nth-child(4)::before { content: "Статус"; }
  #homePage .request-row > span:nth-child(5)::before { content: "Дата сборки"; }
  #homePage .request-row > span:nth-child(6)::before { content: "Приоритет"; }
  #homePage .request-row > span:nth-child(7)::before { content: "Дата отгрузки"; }
  #homePage .request-row > span:nth-child(8)::before { content: "Склад"; }
  #homePage .request-row > span:nth-child(9)::before { content: "Собрано / всего"; }
  #homePage .request-row > span:nth-child(11)::before { content: "Менеджер"; }
  #homePage .request-scope-tabs { max-width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  body:has(#homePage:not(.is-hidden)) .auth-panel { flex-wrap: wrap; gap: 6px 10px; }
  body:has(#homePage:not(.is-hidden)) .auth-panel span { white-space: normal; overflow-wrap: anywhere; }
  #homePage .home-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #homePage .request-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #homePage .request-filters input, #homePage .request-filters select { width: 100%; min-height: 44px; font-size: 16px; }
  #homePage .request-scope-tabs { display: grid; }
  #homePage .status-add-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #homePage .status-add-form input { grid-column: 1 / -1; }
  #homePage .status-settings-row { grid-template-columns: 24px minmax(0, 1fr); }
  #homePage .status-settings-row button { grid-column: 2; }
  #homePage .section-title { flex-wrap: wrap; gap: 8px; }
}
@media (max-width: 360px) {
  #homePage .request-filters { grid-template-columns: minmax(0, 1fr); }
}
:root .shipment-destination-actions { display:flex; gap:8px; flex-wrap:wrap; }
.shipment-destination-settings { width:min(680px,calc(100vw - 32px)); max-height:85vh; overflow:auto; border:1px solid #d7dfea; border-radius:16px; padding:20px; color:#17232f; }
.shipment-destination-settings::backdrop { background:#18213266; }
.shipment-destination-settings header { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.shipment-destination-settings label { display:grid; gap:6px; min-width:0; }
.shipment-destination-settings form { display:flex; align-items:end; gap:8px; margin:18px 0; }
.shipment-destination-settings form label { flex:1; }
.shipment-destination-settings input,.shipment-destination-settings select { width:100%; min-width:0; box-sizing:border-box; padding:10px; border:1px solid #d7dfea; border-radius:8px; }
.shipment-destination-settings button { border:1px solid #e9c3ed; border-radius:8px; padding:9px 12px; background:#f9edfb; color:#ac0bb0; cursor:pointer; }
.shipment-destination-settings button:disabled { opacity:.45; cursor:default; }
.shipment-destination-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; padding:10px 0; border-top:1px solid #e7edf4; }
@media(max-width:600px) { .shipment-destination-settings { padding:14px; } .shipment-destination-row { grid-template-columns:1fr 1fr; } .shipment-destination-row input { grid-column:1/-1; } .shipment-destination-settings form { flex-direction:column; align-items:stretch; } .shipment-schedule-toolbar { grid-template-columns:1fr !important; } }
