.partner-admin {
  --partner-accent:var(--accent,#8a1538);
  color: var(--fg,var(--text,#211b1d));
  font-family: var(--font-body,"Manrope",system-ui,sans-serif);
  min-width: 0;
}
.partner-dashboard { margin: 0 0 28px; padding: 22px; border: 1px solid var(--border); border-radius: 20px; background: var(--surface,#fff); }
.partner-admin [hidden] { display:none !important; }
.partner-views { display:flex; gap:8px; margin:0 0 22px; flex-wrap:wrap; }
.partner-views button { border:1px solid var(--border); border-radius:12px; padding:12px 16px; min-height:44px; color:inherit; background:var(--surface,#fff); font-weight:700; cursor:pointer; }
.partner-views button[aria-pressed=true] { background:var(--accent-soft,#f8edf1); border-color:var(--partner-accent); color:var(--partner-accent); }
.partner-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.partner-kpi { display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-height:96px; padding:16px; border:1px solid var(--border); border-radius:14px; background:var(--surface-2,#f5f6f8); text-align:left; cursor:pointer; color:inherit; }
.partner-kpi b { font-size:28px; font-variant-numeric:tabular-nums; line-height:1.1; }
.partner-kpi span { font-size:13px; }
.partner-kpi:hover, .partner-connect-card:hover, .partner-mover:hover { border-color:var(--partner-accent); }
.partner-kpi[data-change=down] b { color:#16623d; }
.partner-kpi[data-change=up] b { color:#9a253b; }
.partner-baseline { margin:16px 0 0; padding:12px 14px; background:var(--accent-soft,#f8edf1); border-radius:12px; font-size:13px; line-height:1.6; }
.partner-movers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:20px; }
.partner-mover-column { min-width:0; }
.partner-mover-column h3 { font-size:16px; margin:0 0 10px; }
.partner-mover { display:flex; flex-direction:column; gap:6px; width:100%; text-align:left; padding:12px; margin:8px 0; background:var(--surface,#fff); color:inherit; border:1px solid var(--border); border-radius:12px; cursor:pointer; overflow-wrap:anywhere; }
.partner-mover b { font-size:13px; }
.partner-mover > span { font-size:12px; }
.partner-change { display:inline-block; width:fit-content; font-size:12px; line-height:1.5; padding:4px 8px; border-radius:7px; background:var(--surface-2,#f0f3f5); color:var(--muted); }
.partner-change.is-down { background:#e8f5ed; color:#155d38; }
.partner-change.is-up { background:#fbecef; color:#96243b; }
.partner-previous { display:block; margin-top:5px; font-size:12px; color:var(--muted); }
.partner-supplier-activities { display:grid; gap:8px; padding-bottom:14px; }
.partner-supplier-activity { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:12px; background:var(--surface,#fff); color:inherit; border:1px solid var(--border); border-radius:10px; text-align:left; cursor:pointer; min-height:44px; }
.partner-supplier-activity b { margin-right:auto; }
.partner-supplier-activity > span { font-size:12px; }
.partner-connectors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0 24px; }
.partner-connect-card { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:18px; background:var(--surface,#fff); color:var(--partner-accent); border:1px dashed var(--border); border-radius:15px; text-align:left; cursor:pointer; }
.partner-connect-card b,.partner-connect-card small { display:block; }
.partner-connect-card small { margin-top:4px; font-size:12px; color:var(--muted); }
.partner-connect-card > span:last-child { font-size:13px; font-weight:700; }
.partner-source-card { flex-direction:column; }
.partner-source-actions { display:flex; gap:8px; flex-wrap:wrap; width:100%; margin-top:14px; }
.partner-source-actions .btn { flex:1 1 auto; font-size:12px; min-height:44px; white-space:normal; }
.partner-source-dates { display:grid; gap:7px; margin:12px 0; font-size:12px; }
.partner-source-dates div { display:flex; justify-content:space-between; gap:10px; }
.partner-source-dates dt { color:var(--muted); }
.partner-source-dates dd { margin:0; text-align:right; font-variant-numeric:tabular-nums; }
.partner-offer-change { margin:0 0 14px; }
.partner-admin button:focus-visible { outline:3px solid var(--partner-accent); outline-offset:3px; }
@media(max-width:1120px) { .partner-connect-card { flex-direction:column; align-items:flex-start; } }
@media(max-width:760px) { .partner-dashboard { padding:15px; } .partner-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .partner-movers,.partner-connectors { grid-template-columns:1fr; } .partner-movers { gap:12px; } .partner-kpi { padding:12px; } }
.partner-admin * {
  box-sizing: border-box;
}
.partner-admin h1,
.partner-admin h2,
.partner-admin h3 {
  font-family: var(--font-display,"Onest",system-ui,sans-serif);
}
.partner-admin button,
.partner-admin input,
.partner-admin select,
.partner-admin textarea {
  font: inherit;
}
.partner-admin button {
  touch-action: manipulation;
}
.partner-heading,
.partner-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.partner-heading {
  margin: 4px 0 24px;
}
.partner-heading > div,
.partner-section-head > div,
.partner-source-card > div,
.partner-offer-head > div {
  min-width: 0;
}
.partner-heading h1 {
  font-size: clamp(25px, 3vw, 34px);
  margin: 2px 0 8px;
}
.partner-heading p:last-child {
  max-width: 72ch;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}
.partner-kicker {
  margin: 0;
  color: var(--partner-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.partner-heading > .btn {
  min-height: 44px;
  white-space: nowrap;
}
.partner-section-head {
  margin: 0 0 14px;
}
.partner-section-head h2,
.partner-section-head h3 {
  margin: 0 0 5px;
  font-size: 20px;
}
.partner-section-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.partner-section-head > span {
  color: var(--muted);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
.partner-banner,
.partner-notice,
.partner-duplicate {
  max-width: 100%;
  margin: 0 0 16px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--surface-2,var(--bg));
  padding: 13px 15px;
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.partner-banner[hidden] {
  display: none;
}
.partner-banner.is-warning {
  border-color: #d99b2b;
  background: var(--warm-soft,#fff7e6);
  color: var(--warm,#735000);
}
.partner-banner.is-error,
.partner-error {
  color: var(--danger,#a42424);
}
.partner-banner.is-error {
  border-color: var(--danger,#a42424);
  background: #fff4f4;
}
.partner-source-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}
.partner-source-card {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: var(--surface,#fff);
  padding: 15px;
  box-shadow: var(--shadow-sm);
}
.partner-source-card h3 {
  margin: 0 0 5px;
  font-size: 15px;
  overflow-wrap: anywhere;
}
.partner-source-card p,
.partner-source-card small {
  display: block;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.partner-source-card .btn {
  flex: 1 1 auto;
  min-height: 44px;
}
.partner-empty {
  grid-column: 1/-1;
  min-width: 0;
  border: 1px dashed var(--border-strong,var(--border));
  border-radius: 15px;
  padding: 28px 18px;
  text-align: center;
  color: var(--muted);
}
.partner-empty h3 {
  margin: 0 0 7px;
  color: var(--fg,var(--text));
  font-size: 18px;
}
.partner-empty p {
  margin: 0;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.partner-wizard,
.partner-search-panel,
.partner-selected {
  min-width: 0;
  margin: 0 0 22px;
  border: 1px solid var(--border);
  border-radius: 17px;
  background: var(--surface,#fff);
  padding: 20px;
  box-shadow: var(--shadow-sm);
}
.partner-wizard {
  border-top: 4px solid var(--partner-accent);
}
.partner-source-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.partner-field {
  min-width: 0;
}
.partner-field-wide,
.partner-search-wide {
  grid-column: 1/-1;
}
.partner-field label,
.partner-defaults legend {
  display: block;
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 800;
}
.partner-field input,
.partner-field select,
.partner-field textarea,
.partner-results-toolbar select {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  border: 1px solid var(--border-strong,var(--border));
  border-radius: 11px;
  background: var(--surface,#fff);
  color: var(--fg,var(--text));
  padding: 10px 12px;
}
.partner-field textarea {
  min-height: 112px;
  resize: vertical;
  line-height: 1.45;
}
.partner-field input:focus,
.partner-field select:focus,
.partner-field textarea:focus,
.partner-results-toolbar select:focus {
  border-color: var(--partner-accent);
  outline: 2px solid var(--partner-accent);
  outline-offset: 1px;
}
.partner-field [aria-invalid=true] {
  border-color: var(--danger,#a42424);
  outline-color: var(--danger,#a42424);
}
.partner-field small,
.partner-muted {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.partner-inline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
.partner-inline .btn {
  min-height: 44px;
}
#partner-google-sheets:not(:empty) {
  margin-top: 14px;
}
#partner-google-sheets .btn {
  margin-top: 8px;
  white-space: normal;
}
.partner-file-row {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.partner-file-row > span {
  min-width: 0;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.partner-file {
  display: flex;
  flex: 1 1 320px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 54px;
  border: 1px dashed var(--border-strong,var(--border));
  border-radius: 12px;
  padding: 10px 13px;
  cursor: pointer;
}
.partner-file:hover {
  border-color: var(--partner-accent);
  background: var(--accent-soft,#f8edf1);
}
.partner-file b {
  font-size: 13px;
}
.partner-file span {
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}
.partner-file-row input[type=file] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.partner-file-row:has(input:focus-visible) .partner-file {
  outline: 3px solid var(--partner-accent);
  outline-offset: 3px;
}
.partner-status {
  min-height: 22px;
  margin: 12px 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.partner-mapping {
  margin-top: 18px;
  border-top: 1px solid var(--border);
  padding-top: 18px;
}
.partner-map-grid,
.partner-rate-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.partner-defaults {
  min-width: 0;
  margin: 18px 0;
  border: 1px solid var(--border);
  border-radius: 13px;
  padding: 14px;
}
.partner-defaults legend {
  padding: 0 6px;
}
.partner-preview-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 16px 0 10px;
  color: var(--muted);
  font-size: 13px;
}
.partner-preview-summary b {
  color: var(--fg,var(--text));
}
.partner-preview-table {
  max-width: 100%;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 12px;
}
.partner-preview-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.partner-preview-table th,
.partner-preview-table td {
  padding: 9px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}
.partner-preview-table th {
  background: var(--surface-2,var(--bg));
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.partner-preview-table tr:last-child td {
  border-bottom: 0;
}
.partner-issues {
  margin-top: 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0 12px;
}
.partner-issues summary {
  min-height: 44px;
  padding: 12px 0;
  cursor: pointer;
  font-weight: 800;
}
.partner-issues ul {
  margin: 0 0 14px;
  padding-left: 22px;
  color: var(--danger,#a42424);
  font-size: 12px;
  line-height: 1.5;
}
.partner-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 54px;
  margin: 12px 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 11px 12px;
  cursor: pointer;
}
.partner-check[hidden] {
  display: none;
}
.partner-check input {
  flex: none;
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  accent-color: var(--partner-accent);
}
.partner-check b,
.partner-check small {
  display: block;
}
.partner-check b {
  font-size: 13px;
}
.partner-check small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.partner-confirm {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  border-top: 1px solid var(--border);
  padding-top: 14px;
}
.partner-confirm p {
  max-width: 65ch;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.partner-confirm .btn {
  min-height: 44px;
  white-space: normal;
}
.partner-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(130px, .35fr) auto;
  gap: 12px;
  align-items: end;
}
.partner-search-form .partner-search-wide {
  grid-column: auto;
}
.partner-search-form > .btn {
  min-height: 44px;
}
.partner-rates {
  margin: 14px 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 0 13px;
}
.partner-rates summary {
  min-height: 44px;
  padding: 12px 0;
  cursor: pointer;
  font-weight: 800;
}
.partner-rates > p {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.partner-rate-grid {
  padding-bottom: 14px;
}
.partner-results-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  margin: 12px 0;
  color: var(--muted);
  font-size: 12px;
}
.partner-results-toolbar span {
  margin-right: auto;
}
.partner-results-toolbar select {
  width: auto;
  min-width: 170px;
}
.partner-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.partner-offer-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
}
.partner-offer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 9px;
}
.partner-offer-head h3 {
  margin: 0 0 3px;
  font-size: 15px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.partner-offer-head p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.partner-best {
  flex: none;
  border-radius: 999px;
  background: var(--success-soft,#edf8f0);
  padding: 5px 8px;
  color: var(--success,#26713d);
  font-size: 12px;
  font-weight: 800;
}
.partner-offer-card dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin: 14px 0;
}
.partner-offer-card dl > div {
  min-width: 0;
}
.partner-offer-card dt {
  color: var(--muted);
  font-size: 12px;
}
.partner-offer-card dd {
  margin: 3px 0 0;
  font-size: 12px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.partner-offer-card dd small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
}
.partner-offer-card .is-stale {
  color: var(--danger,#a42424);
}
.partner-offer-card .is-fresh {
  color: var(--success,#26713d);
}
.partner-offer-card > .btn {
  align-self: flex-start;
  min-height: 44px;
  margin-top: auto;
}
.partner-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 15px;
}
.partner-pagination button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface,#fff);
  font-size: 24px;
}
.partner-pagination span {
  color: var(--muted);
  font-size: 12px;
}
.partner-pagination button:disabled {
  opacity: .4;
}
.partner-selected {
  border: 2px solid var(--partner-accent);
  scroll-margin-top: 16px;
}
.partner-selected .partner-notice {
  background: var(--accent-soft,#f8edf1);
}
.partner-duplicate {
  border-color: #d99b2b;
  background: var(--warm-soft,#fff7e6);
}
.partner-duplicate b {
  display: block;
}
.partner-duplicate p {
  margin: 5px 0 10px;
}
.partner-duplicate .btn {
  min-height: 44px;
  margin: 4px 6px 4px 0;
  white-space: normal;
}
.partner-selected form > .btn {
  min-height: 44px;
  margin-top: 8px;
}
.partner-loading {
  min-height: 90px;
  display: grid;
  place-items: center;
  color: var(--muted);
}
.partner-admin :disabled {
  cursor: not-allowed;
  opacity: .5;
}
.partner-admin [role=alert],
.partner-admin [role=status] {
  overflow-wrap: anywhere;
}
@media (max-width: 1120px) {
  .partner-source-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .partner-map-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .manager-sidebar nav {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .partner-admin :is(input, select, textarea) {
    font-size: 16px;
  }
  .partner-heading {
    display: block;
  }
  .partner-heading > .btn {
    width: 100%;
    margin-top: 14px;
  }
  .partner-source-grid,
  .partner-result-grid,
  .partner-source-inputs,
  .partner-map-grid,
  .partner-rate-grid,
  .partner-search-form {
    grid-template-columns: 1fr;
  }
  .partner-search-form .partner-search-wide,
  .partner-field-wide {
    grid-column: auto;
  }
  .partner-wizard,
  .partner-search-panel,
  .partner-selected {
    padding: 15px;
  }
  .partner-source-card {
    align-items: flex-start;
  }
  .partner-inline {
    grid-template-columns: 1fr;
  }
  .partner-inline .btn,
  .partner-file-row,
  .partner-confirm {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .partner-file {
    flex: none;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }
  .partner-file span {
    text-align: left;
  }
  .partner-confirm .btn,
  .partner-search-form > .btn,
  .partner-selected form > .btn {
    width: 100%;
  }
  .partner-offer-card dl {
    grid-template-columns: 1fr 1fr;
  }
  .partner-results-toolbar {
    flex-wrap: wrap;
  }
  .partner-results-toolbar span {
    flex-basis: 100%;
  }
  .partner-results-toolbar label {
    margin-right: auto;
  }
  .partner-results-toolbar select {
    width: auto;
    max-width: 100%;
  }
}
@media (max-width: 420px) {
  .partner-source-card {
    display: grid;
  }
  .partner-source-card .btn {
    width: 100%;
  }
  .partner-offer-head {
    display: block;
  }
  .partner-best {
    display: inline-flex;
    margin-top: 8px;
  }
  .partner-section-head {
    flex-wrap: wrap;
  }
  .partner-section-head > .btn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .partner-admin * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* Dense, read-only supplier comparison; publication remains a separate workflow. */
.partner-fx { margin:14px 0; padding:12px 14px; border:1px solid var(--border); border-radius:12px; }
.partner-fx-heading { display:flex; gap:12px; align-items:center; justify-content:space-between; }
.partner-fx-heading p { margin:0; font-size:14px; }
.partner-fx .partner-rates { margin:8px 0 0; border:0; padding:0; }
.partner-fx .btn { min-height:44px; padding:8px 12px; }
.partner-photo { min-width:0; border:1px solid var(--border); border-radius:12px; padding:16px; margin:18px 0; }
.partner-photo > label,.partner-photo > small { display:block; margin:8px 0; }
.partner-photo > input { width:100%; min-height:44px; }
.partner-photo-preview { display:flex; align-items:center; justify-content:center; min-height:100px; background:var(--surface-2); border-radius:10px; }
.partner-photo-preview img { max-width:100%; object-fit:contain; }
.partner-photo #partner-photo-status { font-size:14px; overflow-wrap:anywhere; }
@media(max-width:620px) { .partner-fx-heading { flex-wrap:wrap; } .partner-photo { padding:12px; } }
.partner-search-form { grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-areas:"query query submit reset" "group category source change"; gap:10px; }
.partner-search-form .partner-search-wide { grid-area:query; }
.partner-search-form > :has(#partner-group-filter) { grid-area:group; }
.partner-search-form > :has(#partner-category-filter) { grid-area:category; }
.partner-search-form > :has(#partner-source-filter) { grid-area:source; }
.partner-search-form > :has(#partner-change-filter) { grid-area:change; }
.partner-search-form > [type=submit] { grid-area:submit; }
.partner-search-form > [data-action=reset-search] { grid-area:reset; }
.partner-category-summary { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; font-size:13px; }
.partner-category-summary:empty { display:none; }
.partner-category-summary > span { color:var(--muted); }
.partner-category-summary button { min-height:44px; padding:8px 12px; border:1px solid var(--border); border-radius:10px; background:var(--surface,#fff); color:inherit; cursor:pointer; }
.partner-category-summary button[aria-pressed=true] { background:var(--accent-soft,#f8edf1); border-color:var(--partner-accent); color:var(--partner-accent); }
.partner-category-summary b { margin-left:5px; font-variant-numeric:tabular-nums; }
.partner-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.partner-table-wrap { max-width:100%; border:1px solid var(--border); border-radius:12px; overflow:clip; }
.partner-offers-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:13px; line-height:1.4; }
.partner-offers-table th,.partner-offers-table td { padding:9px 10px; text-align:left; overflow-wrap:anywhere; vertical-align:middle; border-bottom:1px solid var(--border); }
.partner-offers-table th { background:var(--surface-2,#f0f3f6); font-size:12px; font-weight:800; }
.partner-offers-table th button { display:flex; align-items:center; gap:4px; width:100%; min-height:44px; padding:0; border:0; color:inherit; background:none; text-align:left; font:inherit; cursor:pointer; }
.partner-offers-table .partner-col-product { width:31%; }
.partner-offers-table .partner-col-source { width:12%; }
.partner-offers-table .partner-col-price { width:14%; font-variant-numeric:tabular-nums; }
.partner-offers-table .partner-col-change { width:12%; font-variant-numeric:tabular-nums; }
.partner-offers-table .partner-col-state { width:12%; }
.partner-offers-table .partner-col-date { width:11%; font-variant-numeric:tabular-nums; }
.partner-offers-table .partner-col-action { width:8%; }
.partner-offers-table .partner-offer-row:nth-child(4n+3) { background:var(--surface-2,#f6f8fa); }
.partner-offers-table .partner-offer-row:hover,.partner-offers-table .partner-offer-row:focus-within { background:var(--accent-soft,#f8edf1); }
.partner-offers-table small { display:block; font-size:12px; font-weight:400; color:var(--muted); margin-top:3px; }
.partner-product-toggle { display:flex; gap:8px; justify-content:space-between; align-items:center; width:100%; min-height:44px; padding:0; border:0; background:none; color:inherit; text-align:left; font:inherit; font-weight:700; cursor:pointer; }
.partner-product-toggle > span:first-child { min-width:0; overflow-wrap:anywhere; }
.partner-product-toggle > span:last-child { flex:none; color:var(--partner-accent); font-size:18px; }
.partner-offers-table .partner-product-meta { margin-top:0; }
.partner-offers-table .partner-best { display:inline-block; color:var(--success,#26713d); padding:3px 6px; border-radius:5px; }
.partner-offers-table .partner-change { display:inline-block; padding:0; background:none; font-size:12px; }
.partner-offers-table .partner-change small { color:inherit; }
.partner-offers-table .is-stale { color:var(--danger,#a42424); }
.partner-stock-button,.partner-mobile-select { min-height:44px; padding:6px; border:1px solid var(--border-strong,var(--border)); border-radius:8px; background:var(--surface,#fff); color:var(--partner-accent); font:inherit; font-weight:700; cursor:pointer; white-space:nowrap; }
.partner-stock-button:hover,.partner-mobile-select:hover { border-color:var(--partner-accent); }
.partner-admin :is(.partner-table-wrap,.partner-category-summary) button:focus-visible { outline:2px solid var(--partner-accent); outline-offset:2px; }
.partner-offers-table .partner-mobile-source,.partner-offers-table .partner-mobile-change,.partner-offers-table .partner-mobile-select { display:none; }
.partner-detail-row td { background:var(--accent-soft,#f8edf1); padding:16px; }
.partner-row-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; }
.partner-row-facts dt { color:var(--muted); font-size:12px; }
.partner-row-facts dd { margin:4px 0 0; }
.partner-detail-row p { margin:10px 0 0; }
@media (max-width:1280px) {
  .partner-offers-table .partner-col-state,.partner-offers-table .partner-col-date { display:none; }
  .partner-offers-table .partner-col-product { width:39%; }
  .partner-offers-table .partner-col-source { width:15%; }
  .partner-offers-table .partner-col-price { width:18%; }
  .partner-offers-table .partner-col-change { width:17%; }
  .partner-offers-table .partner-col-action { width:11%; }
}
@media (max-width:960px) {
  .partner-search-form { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"query query" "group category" "source change" "submit reset"; }
  .partner-row-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .partner-search-form .partner-search-wide { grid-area:query; }
  .partner-offers-table .partner-col-source,.partner-offers-table .partner-col-change,.partner-offers-table .partner-col-action { display:none; }
  .partner-offers-table .partner-col-product { width:64%; }
  .partner-offers-table .partner-col-price { width:36%; }
  .partner-offers-table th,.partner-offers-table td { padding:8px; }
  .partner-offers-table .partner-mobile-source { display:inline; }
  .partner-offers-table .partner-mobile-change { display:block; margin-top:4px; }
  .partner-offers-table .partner-mobile-select { display:block; width:100%; margin-top:6px; }
  .partner-offers-table .partner-col-price strong { font-size:13px; }
  .partner-results-toolbar select { min-width:0; width:100%; }
}
@media (max-width:420px) {
  .partner-search-form { grid-template-columns:minmax(0,1fr); grid-template-areas:"query" "group" "category" "source" "change" "submit" "reset"; }
  .partner-row-facts { grid-template-columns:minmax(0,1fr); }
}
