:root {
  color-scheme: light;
  --wb-canvas: #f5f5f7;
  --wb-sidebar: #fbfbfd;
  --wb-surface: #ffffff;
  --wb-surface-subtle: #fafafc;
  --wb-surface-muted: #efeff3;
  --wb-ink: #1d1d1f;
  --wb-ink-secondary: #424245;
  --wb-ink-muted: #6e6e73;
  --wb-line: #e7e7ea;
  --wb-line-strong: #d2d2d7;
  --wb-brand: #6e5fd7;
  --wb-brand-strong: #5546b7;
  --wb-brand-soft: #f0edff;
  --wb-brand-border: #cfc7ff;
  --wb-success: #257a50;
  --wb-success-soft: #eaf6ef;
  --wb-warning: #91600f;
  --wb-warning-soft: #fff4df;
  --wb-danger: #b33a32;
  --wb-danger-soft: #faecea;
  --wb-info: #356ca8;
  --wb-info-soft: #e9f2ff;
  --wb-focus-ring: #6e5fd7;
  --wb-shadow-card: 0 1px 2px rgba(29, 29, 31, .025), 0 8px 24px rgba(29, 29, 31, .04);
  --wb-shadow-popover: 0 16px 40px rgba(29, 29, 31, .14);
  --wb-transition: 150ms ease;

  /* Backward-compatible aliases for embedded product modules. */
  --wb-text: var(--wb-ink);
  --wb-text-secondary: var(--wb-ink-secondary);
  --wb-text-muted: var(--wb-ink-muted);
  --wb-border: var(--wb-line);
  --wb-border-strong: var(--wb-line-strong);
  --bg: var(--wb-canvas);
  --panel: var(--wb-surface);
  --ink: var(--wb-text);
  --muted: var(--wb-text-muted);
  --line: var(--wb-border);
  --brand: var(--wb-brand);
  --brand-soft: var(--wb-brand-soft);
  --danger: var(--wb-danger);
  --warning: var(--wb-warning);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--wb-canvas); }
body {
  margin: 0; overflow-x: hidden; background: var(--wb-canvas);
  color: var(--wb-text); -webkit-font-smoothing: antialiased;
}
body.coop-coverage-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, .primary-button, .secondary-button {
  border: 0; border-radius: 10px; padding: 10px 16px; cursor: pointer;
  touch-action: manipulation; transition: background-color var(--wb-transition), color var(--wb-transition), border-color var(--wb-transition), box-shadow var(--wb-transition), transform var(--wb-transition);
}
.primary-button, .secondary-button, .filter-actions button, input, select { min-height: 44px; }
.primary-button { background: var(--wb-brand); color: var(--wb-surface); text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.primary-button:hover { background: var(--wb-brand-strong); }
.secondary-button, .filter-actions button { background: var(--wb-surface-muted); color: var(--wb-text); }
.secondary-button:hover, .filter-actions button:hover { background: var(--wb-brand-soft); color: var(--wb-brand-strong); }
button:disabled, input:disabled, select:disabled, textarea:disabled, [aria-disabled="true"] { cursor: not-allowed; opacity: .58; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--wb-focus-ring); outline-offset: 2px;
}
.skip-link {
  position: fixed; z-index: 1000; top: 10px; left: 12px; transform: translateY(-150%);
  border-radius: 10px; padding: 10px 14px; background: var(--wb-text); color: var(--wb-surface);
  text-decoration: none; transition: transform var(--wb-transition);
}
.skip-link:focus { transform: translateY(0); }
.workbench-layout { min-height: 100vh; display: grid; grid-template-columns: 228px 1fr; }
.sidebar {
  position: sticky; top: 0; height: 100vh; padding: 22px 16px;
  background: var(--wb-sidebar); color: var(--wb-text); border-right: 1px solid var(--wb-border);
  display: flex; flex-direction: column;
}
.brand-block { display: flex; gap: 12px; align-items: center; padding: 0 8px 24px; }
.brand-block small { display: block; margin-top: 4px; color: var(--wb-text-muted); }
.brand-mark {
  display: inline-grid; place-items: center; width: 38px; height: 38px;
  border-radius: 12px; background: var(--wb-brand); color: var(--wb-surface); font-weight: 800;
  box-shadow: 0 5px 14px rgba(110, 95, 215, .2);
}
.brand-mark.large { width: 56px; height: 56px; font-size: 20px; }
nav { display: flex; flex-direction: column; gap: 5px; }
nav a { color: var(--wb-text-secondary); text-decoration: none; padding: 11px 12px; border-radius: 9px; transition: background-color var(--wb-transition), color var(--wb-transition); }
nav a:hover { background: var(--wb-surface-muted); color: var(--wb-text); }
nav a.active { background: var(--wb-brand-soft); color: var(--wb-brand-strong); font-weight: 700; }
.nav-product { margin-top: 12px; border-radius: 12px; padding: 5px; }
.nav-product.active { background: transparent; }
.nav-group { margin: 7px 8px 5px; color: var(--wb-text-muted); font-size: 12px; font-weight: 750; }
.nav-children { display: flex; flex-direction: column; gap: 4px; }
.nav-product-unavailable { border: 1px solid var(--wb-border); }
.nav-unavailable-label {
  display: block; margin: 6px 8px 8px; color: var(--wb-warning); font-size: 13px;
}
.sidebar-footer { margin-top: auto; display: flex; justify-content: space-between; align-items: center; padding: 14px 8px 4px; border-top: 1px solid var(--wb-border); }
.sidebar-footer button { min-width: 44px; min-height: 44px; color: var(--wb-text-muted); background: transparent; padding: 4px; }
.content { min-width: 0; padding: 32px clamp(20px, 4vw, 58px); }
.module-page, .welcome-card { max-width: 1600px; margin-inline: auto; }
.environment-banner {
  background: var(--wb-warning-soft); color: var(--wb-warning); padding: 10px 16px; border: 1px solid #efd19c; border-radius: 10px;
  margin-bottom: 18px; font-weight: 700;
}
.module-status-banner {
  display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center;
  background: var(--wb-warning-soft); color: var(--wb-warning); border: 1px solid #efd19c;
  padding: 12px 16px; border-radius: 10px; margin-bottom: 18px;
}
.module-status-banner span { color: var(--wb-text-secondary); }
.page-heading, .section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.page-heading h1, .welcome-card h1 { margin: 4px 0 8px; font-size: clamp(26px, 3vw, 32px); line-height: 1.16; letter-spacing: -.025em; }
.eyebrow { color: var(--brand); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin: 0; }
.page-heading p, .section-heading p, .hint, .muted { color: var(--muted); }
.panel, .welcome-card, .state-card, .login-card {
  background: var(--panel); border: 1px solid var(--line); border-radius: 16px;
  padding: 22px; box-shadow: var(--wb-shadow-card);
}
.action-panel { margin: 24px 0; }
.input-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-top: 10px; }
input, select {
  width: 100%; border: 1px solid var(--wb-border-strong); border-radius: 10px;
  padding: 11px 12px; background: var(--wb-surface); color: var(--ink);
}
.primary-button:active, .secondary-button:active, button:active { transform: scale(.985); }
.result-panel { margin-bottom: 28px; }
.status-line { display: flex; gap: 12px; align-items: center; color: var(--muted); }
.status-chip { background: var(--brand-soft); color: var(--brand); border-radius: 999px; padding: 5px 10px; font-weight: 700; }
.plain-link { font-family: ui-monospace, SFMono-Regular, monospace; overflow-wrap: anywhere; background: var(--wb-surface-subtle); padding: 12px; border-radius: 10px; }
.metric-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.metric-row > div { background: var(--wb-surface-subtle); padding: 14px; border-radius: 12px; }
.metric-row dt { color: var(--muted); font-size: 13px; }
.metric-row dd { margin: 5px 0 0; font-size: 21px; font-weight: 750; }
.card-grid, .config-grid, .snapshot-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.compact-card h3 { margin-top: 0; }
.coop-submit-page .page-heading h1 { margin-top: 0; font-size: clamp(26px, 3vw, 32px); }
.section-tabs {
  display: flex; gap: 8px; margin: 8px 0 16px; padding-bottom: 2px;
  border-bottom: 1px solid var(--line);
}
.section-tab {
  border-radius: 9px 9px 0 0; padding: 10px 16px; color: var(--muted);
  background: transparent; font-weight: 700; border-bottom: 3px solid transparent;
}
.section-tab.active { color: var(--brand); border-bottom-color: var(--brand); }
.submit-selector-panel { display: grid; gap: 20px; margin-bottom: 16px; }
.submit-selector-step { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; }
.submit-selector-step h2 { margin: 2px 0 10px; font-size: 18px; }
.step-number {
  display: inline-grid; place-items: center; width: 28px; height: 28px;
  border-radius: 50%; background: var(--brand-soft); color: var(--brand); font-weight: 800;
}
.choice-row { display: flex; flex-wrap: wrap; gap: 9px; }
.choice-row button { background: var(--wb-surface-muted); color: var(--ink); border: 1px solid transparent; }
.choice-row button.active { background: var(--brand-soft); color: var(--brand); border-color: var(--wb-brand-border); font-weight: 750; }
.submission-receipt { margin: 16px 0 24px; border-left: 5px solid var(--brand); }
.receipt-heading { display: flex; align-items: center; gap: 10px; }
.receipt-heading h2 { margin: 0; font-size: 21px; }
.receipt-details { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 14px 0 8px; color: var(--ink); }
.receipt-details span { padding-right: 18px; border-right: 1px solid var(--line); }
.receipt-details span:last-child { border-right: 0; }
.receipt-message { color: var(--muted); margin: 8px 0 14px; }
.submission-status {
  display: inline-flex; align-items: center; width: max-content; white-space: nowrap;
  border-radius: 999px; padding: 5px 10px; font-size: 13px; font-weight: 750;
}
.status-success { background: var(--wb-success-soft); color: var(--wb-success); }
.status-progress { background: var(--wb-info-soft); color: var(--wb-info); }
.status-warning { background: var(--wb-warning-soft); color: var(--wb-warning); }
.status-danger { background: var(--wb-danger-soft); color: var(--danger); }
.status-neutral { background: var(--wb-surface-muted); color: var(--muted); }
.submission-record-filters { margin-bottom: 14px; }
.record-table-heading h2 { margin: 0 0 4px; }
.record-table-heading p { margin: 0 0 10px; }
.submission-record-table { min-width: 1480px; }
.submission-record-table th { white-space: nowrap; word-break: keep-all; }
.submission-record-table td { min-width: 110px; line-height: 1.5; }
.submission-record-table th:first-child,
.submission-record-table td:first-child,
.submission-record-table th:nth-child(6),
.submission-record-table td:nth-child(6),
.submission-record-table th:nth-child(8),
.submission-record-table td:nth-child(8) { min-width: 172px; white-space: nowrap; }
.submission-record-table th:nth-child(9),
.submission-record-table td:nth-child(9) { min-width: 260px; }
.record-highlight { background: var(--wb-warning-soft); animation: record-highlight-fade 5s ease-out forwards; }
@keyframes record-highlight-fade { from { background: #ffecaa; } to { background: transparent; } }
.filter-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; align-items: end; }
.filter-grid > label, .filter-field { display: grid; gap: 7px; color: var(--muted); font-size: 13px; }
.filter-label { line-height: 1.2; }
.compact-multiselect { position: relative; min-width: 0; }
.compact-multiselect-trigger {
  width: 100%; min-height: 44px; display: flex; align-items: center;
  justify-content: space-between; gap: 12px; border: 1px solid var(--wb-border-strong);
  border-radius: 10px; padding: 10px 12px; background: var(--wb-surface); color: var(--ink);
  text-align: left;
}
.compact-multiselect-trigger:focus-visible { outline-offset: 2px; }
.compact-multiselect-arrow { color: var(--muted); font-size: 18px; line-height: 1; }
.compact-multiselect-panel {
  position: absolute; z-index: 40; top: calc(100% + 7px); left: 0;
  width: min(360px, calc(100vw - 56px)); min-width: 100%;
  border: 1px solid var(--line); border-radius: 12px; padding: 10px;
  background: var(--wb-surface); box-shadow: var(--wb-shadow-popover);
}
.compact-multiselect-panel > input { min-height: 40px; }
.compact-multiselect-options {
  max-height: min(280px, 45vh); overflow-y: auto; margin: 8px 0;
  padding: 2px; overscroll-behavior: contain;
}
.compact-multiselect-option {
  display: flex; align-items: center; gap: 9px; padding: 9px 8px;
  border-radius: 8px; color: var(--ink); cursor: pointer; font-size: 14px;
}
.compact-multiselect-option:hover { background: var(--wb-surface-subtle); }
.compact-multiselect-option input { width: auto; margin: 0; padding: 0; accent-color: var(--brand); }
.compact-multiselect-actions { display: flex; justify-content: space-between; gap: 8px; }
.compact-multiselect-actions button { padding: 8px 12px; }
.filter-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.coop-table-page[data-page="coop-current"] .filter-grid {
  grid-template-columns: minmax(180px, 260px) minmax(280px, 1fr) auto;
}
.coop-table-page[data-page="coop-current"] .filter-actions {
  grid-column: auto; flex-wrap: nowrap;
}
.table-panel { margin-top: 14px; }
.coop-current-ledger { overflow: hidden; padding: 0; }
.coop-current-ledger .coop-fact-summary {
  margin: 0; padding: 14px 18px; background: var(--wb-surface-subtle);
}
.coop-current-ledger .loading-state,
.coop-current-ledger .error-state,
.coop-current-ledger .notice { margin: 16px 18px; }
.coop-current-ledger .coop-current-table-scroll { margin-inline: 18px; }
.coop-current-ledger .coop-pagination { padding: 14px 18px; }
.coop-current-scroll-hint {
  display: none; align-items: center; gap: 7px; margin: 0; padding: 10px 18px;
  border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px;
}
.coop-current-scroll-hint::before { content: "↔"; color: var(--wb-brand-strong); font-weight: 800; }
.coop-fact-summary {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 12px 20px; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--line);
}
.coop-fact-summary-items { display: flex; flex-wrap: wrap; align-items: center; min-width: 0; }
.coop-fact-item {
  display: inline-flex; align-items: baseline; gap: 5px; min-height: 32px;
  padding: 5px 18px; border-right: 1px solid var(--line); color: var(--muted); font-size: 13px;
}
.coop-fact-item:first-child { padding-left: 0; }
.coop-fact-item:last-child { border-right: 0; }
.coop-fact-item strong {
  color: var(--ink); font-size: 18px; font-variant-numeric: tabular-nums; letter-spacing: -.01em;
}
.coop-page-size-label {
  display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px;
}
.coop-page-size-label select { width: auto; min-width: 92px; min-height: 44px; padding-block: 8px; }
.table-scroll {
  max-width: 100%; overflow: auto; -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}
table { width: 100%; border-collapse: collapse; min-width: 920px; }
th, td { text-align: left; border-bottom: 1px solid var(--line); padding: 12px 10px; vertical-align: top; }
th { color: var(--muted); font-size: 13px; }
#coop-data-table { min-width: 1500px; }
#coop-data-table th { white-space: nowrap; word-break: keep-all; }
#coop-data-table td { line-height: 1.5; }
#coop-data-table [data-column="品牌"] { min-width: 64px; }
#coop-data-table [data-column="产品系列"] { min-width: 112px; }
#coop-data-table [data-column="型号"],
#coop-data-table [data-column="model_name"] { min-width: 126px; }
#coop-data-table [data-column="合作状态"],
#coop-data-table [data-column="约定前台"],
#coop-data-table [data-column="约定总佣金"],
#coop-data-table [data-column="补差方式"],
#coop-data-table [data-column="action"],
#coop-data-table [data-column="process_status"],
#coop-data-table [data-column="overdue"] {
  min-width: 92px; white-space: nowrap; word-break: keep-all;
}
#coop-data-table [data-column="生效时间"],
#coop-data-table [data-column="结束时间"],
#coop-data-table [data-column="effective_from"],
#coop-data-table [data-column="deadline_at"] {
  min-width: 172px; white-space: nowrap;
}
#coop-data-table [data-column="关联SKU"] {
  min-width: 320px; max-width: 390px; word-break: normal; overflow-wrap: normal;
}
#coop-data-table [data-column="关联店铺"] {
  min-width: 180px; white-space: nowrap; word-break: keep-all;
}
#coop-data-table [data-column="负责人"],
#coop-data-table [data-column="真实确认人"],
#coop-data-table [data-column="handler_label"],
#coop-data-table [data-column="actor_employee_id"] {
  min-width: 132px; word-break: keep-all;
}
#coop-data-table [data-column="process_message"] { min-width: 240px; }
#coop-data-table [data-column="pending_actions"] { min-width: 210px; }
.coop-table-page[data-page="coop-current"] #coop-data-table {
  min-width: 1530px; table-layout: auto;
}
.coop-table-page[data-page="coop-current"] #coop-data-table th,
.coop-table-page[data-page="coop-current"] #coop-data-table td {
  padding: 12px 10px; word-break: normal; overflow-wrap: normal;
}
.coop-table-page[data-page="coop-current"] #coop-data-table th {
  position: sticky; z-index: 2; top: 0; background: var(--wb-surface-subtle);
  border-bottom-color: var(--wb-line-strong); color: var(--wb-ink-secondary); font-weight: 700;
}
.coop-table-page[data-page="coop-current"] #coop-data-table tbody tr:hover td {
  background: var(--wb-surface-subtle);
}
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="品牌"] {
  position: sticky; z-index: 1; left: 0; min-width: 68px;
  border-right: 1px solid var(--wb-line); background: var(--wb-surface);
  white-space: nowrap; word-break: keep-all;
}
.coop-table-page[data-page="coop-current"] #coop-data-table th[data-column="品牌"] {
  z-index: 3; background: var(--wb-surface-subtle);
}
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="产品系列"] { min-width: 136px; }
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="型号"] { min-width: 156px; }
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="销售配置"] { min-width: 136px; }
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="覆盖范围"] { min-width: 176px; }
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="合作状态"] { min-width: 88px; }
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="约定前台"] { min-width: 86px; }
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="当前实采"] { min-width: 86px; white-space: nowrap; }
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="佣金监测状态"] { min-width: 126px; word-break: keep-all; }
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="约定总佣金"] { min-width: 94px; }
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="补差方式"] { min-width: 92px; }
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="合作时间"] { min-width: 156px; }
.coop-table-page[data-page="coop-current"] #coop-data-table [data-column="负责人"] { min-width: 112px; }
.coop-sales-config-cell { display: grid; gap: 6px; }
.coop-classification-pending {
  display: inline-flex; width: max-content; border-radius: 999px; padding: 3px 7px;
  background: var(--wb-warning-soft); color: var(--wb-warning); font-size: 12px; font-weight: 700;
  white-space: nowrap;
}
.coop-rate-value { font-variant-numeric: tabular-nums; font-weight: 650; white-space: nowrap; }
.coop-monitor-pill {
  display: inline-flex; align-items: center; width: max-content; max-width: 124px;
  border-radius: 999px; padding: 4px 8px; font-size: 12px; font-weight: 700;
  line-height: 1.35; white-space: normal;
}
.coop-monitor-neutral { background: var(--wb-surface-muted); color: var(--wb-text-secondary); }
.coop-monitor-success { background: var(--wb-success-soft); color: var(--wb-success); }
.coop-monitor-info { background: var(--wb-info-soft); color: var(--wb-info); }
.coop-monitor-warning { background: var(--wb-warning-soft); color: var(--wb-warning); }
.coop-monitor-danger { background: var(--wb-danger-soft); color: var(--wb-danger); }
.coop-coverage-cell { display: grid; gap: 2px; min-width: 0; }
.coop-coverage-store {
  display: block; overflow: hidden; color: var(--wb-text-secondary);
  font-weight: 650; text-overflow: ellipsis; white-space: nowrap;
}
.coop-coverage-button {
  min-height: 44px; justify-self: start; margin: -5px 0; padding: 5px 0;
  background: transparent; color: var(--wb-brand-strong); font-size: 13px; font-weight: 700;
}
.coop-coverage-button:hover { color: var(--wb-brand); text-decoration: underline; }
.coop-time-range { display: grid; gap: 3px; white-space: nowrap; }
.coop-status-pill {
  display: inline-flex; align-items: center; min-height: 28px; padding: 3px 9px;
  border-radius: 999px; background: var(--wb-success-soft); color: var(--wb-success);
  font-size: 13px; font-weight: 700; white-space: nowrap;
}
.coop-pagination {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 12px 20px; padding-top: 14px; border-top: 1px solid var(--line);
}
.coop-pagination > p { margin: 0; font-size: 13px; font-variant-numeric: tabular-nums; }
.coop-pagination-nav {
  display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 8px;
}
.coop-pagination-nav button {
  min-width: 44px; min-height: 44px; padding: 8px 12px;
  background: var(--wb-surface-muted); color: var(--ink);
}
.coop-pagination-nav button:hover:not(:disabled) {
  background: var(--wb-brand-soft); color: var(--wb-brand-strong);
}
.coop-page-numbers { display: flex; align-items: center; gap: 6px; }
.coop-page-number[aria-current="page"] {
  background: var(--wb-brand-soft); color: var(--wb-brand-strong); font-weight: 750;
  box-shadow: inset 0 -2px 0 var(--wb-brand);
}
.coop-page-ellipsis {
  display: inline-grid; place-items: center; min-width: 24px; min-height: 44px; color: var(--muted);
}
.coop-page-position {
  display: none; color: var(--wb-text-secondary); font-size: 13px; font-variant-numeric: tabular-nums;
}
.coop-coverage-layer {
  position: fixed; z-index: 90; inset: 0; display: grid; justify-items: end;
  background: rgba(29, 29, 31, .46);
}
.coop-coverage-drawer {
  width: min(460px, 100vw); height: 100%; overflow-y: auto; padding: 28px;
  background: var(--wb-surface); box-shadow: var(--wb-shadow-popover);
}
.coop-coverage-header {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
  padding-bottom: 22px; border-bottom: 1px solid var(--wb-border);
}
.coop-coverage-header h2 { margin: 5px 0 6px; font-size: 24px; letter-spacing: -.02em; }
.coop-coverage-header p { margin-bottom: 0; }
.coop-coverage-close {
  flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center;
  padding: 0; background: var(--wb-surface-muted); color: var(--wb-text-secondary);
}
.coop-coverage-close:hover { background: var(--wb-brand-soft); color: var(--wb-brand-strong); }
.coop-coverage-section { padding-top: 24px; }
.coop-coverage-section h3 {
  margin: 0 0 12px; color: var(--wb-text-muted); font-size: 13px;
  letter-spacing: .04em; text-transform: uppercase;
}
.coop-coverage-tags, .coop-coverage-sku-list { display: flex; flex-wrap: wrap; gap: 8px; }
.coop-coverage-tags span, .coop-coverage-sku-list span {
  padding: 8px 10px; border: 1px solid var(--wb-border);
  border-radius: 9px; background: var(--wb-surface-subtle); color: var(--wb-text-secondary);
}
.coop-coverage-sku-list span {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px;
}
.pending-action-group { display: flex; flex-wrap: wrap; gap: 6px; min-width: 190px; }
.pending-action { white-space: nowrap; padding: 7px 10px; border-radius: 8px; }
.batch-toolbar { margin: 14px 0 10px; }
.batch-grid-scroll { border: 1px solid var(--line); border-radius: 12px; }
.batch-edit-table { min-width: 1380px; }
.batch-edit-table th, .batch-edit-table td { padding: 8px; }
.batch-edit-table input, .batch-edit-table select { min-width: 112px; padding: 8px; }
.batch-edit-table [data-field="reason"] { min-width: 180px; }
.batch-edit-table [data-field="effective_from"] { min-width: 180px; }
.batch-edit-table [data-submit-row] { min-width: auto; width: 18px; height: 18px; accent-color: var(--brand); }
.batch-row-result { min-width: 180px; color: var(--muted); }
.batch-row-error { background: var(--wb-danger-soft); }
.batch-row-error .batch-row-result { color: var(--danger); }
.batch-row-success { background: var(--wb-success-soft); }
.batch-row-success .batch-row-result { color: var(--wb-success); }
.mono { font-family: ui-monospace, SFMono-Regular, monospace; }
.config-grid form { display: grid; gap: 10px; }
.config-grid h2 { margin: 0 0 6px; }
.master-workspace-tabs {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
  margin: 22px 0 14px;
}
.master-workspace-tab {
  display: grid; gap: 4px; min-height: 76px; padding: 14px 16px;
  border: 1px solid var(--line); border-radius: 13px; background: var(--wb-surface-subtle);
  color: var(--ink); text-align: left;
}
.master-workspace-tab strong { font-size: 17px; }
.master-workspace-tab span { color: var(--muted); font-size: 13px; line-height: 1.45; }
.master-workspace-tab:hover { border-color: var(--wb-brand-border); }
.master-workspace-tab.active {
  border-color: var(--wb-brand-border); background: var(--brand-soft); color: var(--brand);
  box-shadow: inset 0 -3px 0 var(--brand);
}
.master-workspace-tab.active span { color: var(--wb-text-secondary); }
.master-workspace { display: grid; gap: 12px; }
.master-overview-strip {
  display: grid; grid-template-columns: repeat(3, minmax(110px, 1fr));
  overflow-x: auto; border: 1px solid var(--line); border-radius: 13px; background: var(--wb-surface);
}
.master-overview-strip > div { display: grid; gap: 4px; padding: 13px 16px; border-right: 1px solid var(--line); }
.master-overview-strip > div:last-child { border-right: 0; }
.master-overview-strip span { color: var(--muted); font-size: 12px; }
.master-overview-strip strong { font-size: 20px; }
.master-subnav {
  display: flex; gap: 6px; width: max-content; padding: 4px;
  border: 1px solid var(--line); border-radius: 11px; background: var(--wb-surface-muted);
}
.master-subnav-button { padding: 8px 13px; border-radius: 8px; background: transparent; color: var(--muted); }
.master-subnav-button.active { background: var(--wb-surface); color: var(--brand); font-weight: 750; box-shadow: 0 1px 3px rgba(29, 29, 31, .08); }
.master-catalog { margin-top: 0; }
.master-catalog .section-heading h2 { margin: 0 0 5px; }
.master-catalog .section-heading p { margin: 0; }
.master-directory-table { min-width: 900px; margin-top: 12px; }
.master-directory-table td { vertical-align: middle; }
.master-row-actions { display: flex; flex-wrap: wrap; gap: 6px; min-width: 170px; }
.master-row-actions button { padding: 7px 9px; border-radius: 8px; background: var(--wb-surface-muted); color: var(--ink); white-space: nowrap; }
.master-row-actions button:hover { background: var(--brand-soft); color: var(--brand); }
.master-state {
  display: inline-flex; width: max-content; padding: 4px 8px;
  border-radius: 999px; background: var(--wb-surface-muted); color: var(--wb-text-muted); font-size: 12px; font-weight: 700;
}
.master-editor-open { overflow: hidden; }
.master-editor-layer { position: fixed; z-index: 100; inset: 0; }
.master-editor-dismiss { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0; background: rgba(29, 29, 31, .32); }
.master-editor-shell {
  position: absolute; inset: 0 0 0 auto; width: min(680px, 92vw); overflow-y: auto;
  padding: 26px; background: var(--wb-surface); border-left: 1px solid var(--line);
  box-shadow: -14px 0 36px rgba(29, 29, 31, .14); animation: master-sheet-in 180ms ease-out;
}
@keyframes master-sheet-in { from { transform: translateX(24px); opacity: .78; } to { transform: translateX(0); opacity: 1; } }
.master-editor-form { display: grid; gap: 14px; }
.master-editor-form > label, .master-editor-form .form-field { display: grid; gap: 7px; }
.master-editor-form textarea {
  width: 100%; resize: vertical; min-height: 130px; padding: 11px 12px;
  border: 1px solid var(--wb-border-strong); border-radius: 10px; background: var(--wb-surface); color: var(--ink);
}
.master-editor-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.master-editor-heading h2 { margin: 4px 0 5px; font-size: 25px; }
.master-editor-heading p:last-child { margin: 0; color: var(--muted); }
.master-editor-close { min-width: 44px; min-height: 44px; padding: 3px 8px; background: transparent; color: var(--muted); font-size: 28px; line-height: 1; }
.master-editor-close:hover { background: var(--wb-surface-muted); color: var(--ink); }
.master-editor-actions {
  position: sticky; bottom: -26px; display: flex; justify-content: flex-end; gap: 9px;
  margin: 4px -26px -26px; padding: 15px 26px; border-top: 1px solid var(--line); background: rgba(255, 255, 255, .96);
}
.onboarding-panel { display: grid; gap: 16px; margin: 18px 0 14px; }
.onboarding-panel h2, .onboarding-panel h3, .master-editor-form h3 { margin: 0; }
.onboarding-panel .section-heading p, .onboarding-store-heading p { margin: 5px 0 0; }
.onboarding-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.onboarding-span { grid-column: 1 / -1; }
.form-field, .onboarding-grid > label, .onboarding-store-row > label { display: grid; gap: 7px; }
.field-label { color: var(--ink); }
.check-choice-list {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 7px; max-height: 190px; overflow: auto; padding: 10px;
  border: 1px solid var(--wb-border-strong); border-radius: 10px; background: var(--wb-surface);
}
.check-choice {
  display: flex; align-items: center; gap: 8px; padding: 8px 9px;
  border-radius: 8px; background: var(--wb-surface-subtle); cursor: pointer;
}
.check-choice:has(input:checked) { background: var(--brand-soft); color: var(--brand); font-weight: 700; }
.check-choice input, .inline-check input { width: auto; margin: 0; accent-color: var(--brand); }
.empty-choice { color: var(--muted); padding: 4px; }
.onboarding-store-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.onboarding-store-rows { display: grid; gap: 9px; }
.onboarding-store-row {
  display: grid; grid-template-columns: minmax(220px, 1.5fr) minmax(170px, 1fr) 130px auto;
  gap: 9px; align-items: end; padding: 12px; border: 1px solid var(--line);
  border-radius: 12px; background: var(--wb-surface-subtle);
}
.store-row-remove { color: var(--danger); }
.inline-check { display: flex; align-items: center; gap: 8px; width: max-content; }
.snapshot-grid article { background: var(--wb-surface-subtle); border-radius: 12px; padding: 15px; }
.config-details { display: grid; gap: 22px; margin-top: 24px; }
.detail-section { border-top: 1px solid var(--line); padding-top: 18px; }
.compact-table { min-width: 760px; font-size: 13px; }
.compact-table button { padding: 7px 10px; background: var(--wb-surface-muted); }
.troubleshooting-panel { margin-top: 24px; }
.warning { color: var(--warning); font-size: 12px; }
.notice { margin: 16px 0; padding: 12px 14px; border-radius: 10px; }
.success-state { background: var(--wb-success-soft); color: var(--wb-success); }
.error-state { background: var(--wb-danger-soft); color: var(--danger); padding: 14px; border-radius: 10px; }
.loading-state, .empty-state { color: var(--muted); padding: 18px; }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { max-width: 480px; text-align: center; padding: 38px; }
.login-card h1 { margin-bottom: 8px; }
.login-card .primary-button { margin-top: 12px; min-width: 180px; }
.login-card .primary-button.is-busy { opacity: .72; }
.state-card { max-width: 620px; margin: 12vh auto; text-align: center; }
@media (max-width: 1440px) {
  .workbench-layout { grid-template-columns: 198px minmax(0, 1fr); }
  .sidebar { padding: 18px 12px; }
  .brand-block { padding: 0 6px 18px; }
  .content { padding: 24px 20px; }
  .coop-table-page .filter-grid {
    grid-template-columns: repeat(2, minmax(220px, 360px));
  }
  .coop-table-page .panel { padding: 18px; }
  .coop-table-page .coop-current-ledger { padding: 0; }
  .coop-current-scroll-hint { display: flex; }
}
@media (max-width: 1060px) {
  .coop-table-page[data-page="coop-current"] .filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .coop-table-page[data-page="coop-current"] .filter-actions {
    grid-column: 1 / -1;
  }
}
@media (max-width: 860px) {
  .workbench-layout { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; border-right: 0; border-bottom: 1px solid var(--wb-border); }
  nav {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px; align-items: start;
  }
  .nav-product { min-width: 0; margin-top: 0; padding: 2px; }
  .nav-group { width: auto; }
  .nav-children { gap: 2px; }
  nav a { min-width: 0; padding: 9px 10px; word-break: keep-all; }
  .sidebar-footer { margin-top: 12px; }
  .content { padding: 20px 14px; }
  .filter-grid, .coop-table-page .filter-grid, .metric-row { grid-template-columns: 1fr; }
  .coop-table-page[data-page="coop-current"] .filter-grid { grid-template-columns: 1fr; }
  .coop-table-page[data-page="coop-current"] .filter-actions { grid-column: 1; }
  .input-row { grid-template-columns: 1fr; }
  .receipt-details { display: grid; gap: 8px; }
  .receipt-details span { border-right: 0; padding-right: 0; }
  .onboarding-grid, .onboarding-store-row { grid-template-columns: 1fr; }
  .onboarding-span { grid-column: auto; }
  .onboarding-store-heading { align-items: stretch; flex-direction: column; }
  .master-workspace-tabs { grid-template-columns: 1fr; }
  .master-workspace-tab { min-height: auto; }
  .master-overview-strip { grid-template-columns: repeat(3, minmax(105px, 1fr)); }
  .master-catalog .section-heading { align-items: stretch; flex-direction: column; }
  .master-catalog .section-heading > button { width: 100%; }
  .master-editor-shell { width: 100%; padding: 20px 16px; }
  .master-editor-actions { bottom: -20px; margin: 4px -16px -20px; padding: 13px 16px; }
  .coop-coverage-drawer { width: min(420px, 100vw); padding: 22px 18px; }
  .coop-fact-summary { align-items: stretch; }
  .coop-fact-summary-items {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%;
  }
  .coop-fact-item { padding: 6px 12px; }
  .coop-fact-item:first-child { padding-left: 0; }
  .coop-fact-item:nth-child(2) { border-right: 0; }
  .coop-fact-item:last-child {
    grid-column: 1 / -1; padding-left: 0; border-top: 1px solid var(--line);
  }
  .coop-page-size-label { width: 100%; justify-content: space-between; }
  .coop-pagination { align-items: stretch; flex-direction: column; }
  .coop-pagination-nav { width: 100%; justify-content: space-between; }
  .coop-page-numbers { display: none; }
  .coop-page-position { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
