.feishu-sync-page { min-width: 0; }
.fs-tabs { margin-bottom: 24px; overflow-x: auto; }
.fs-tabs .view-tab { white-space: nowrap; }
.fs-status { display: flex; flex-wrap: wrap; gap: 16px 32px; padding-bottom: 24px; color: var(--muted); font-size: 13px; }
.fs-status strong { color: var(--ink); font-weight: 500; }
.feishu-sync-page fieldset { padding: 0; border: 0; margin: 0; min-width: 0; }
.fs-section { padding: 24px 0; border-top: 1px solid var(--line); }
.fs-section h2 { font-size: 16px; margin: 0 0 20px; font-weight: 600; }
.fs-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 28px; max-width: 880px; }
.fs-fields .field { min-width: 0; margin: 0; }
.fs-fields input, .fs-fields select { width: 100%; min-width: 0; }
.fs-section .check-label { margin-top: 20px; }
.fs-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.fs-actions .btn { min-height: 42px; }
.fs-result { font-size: 13px; color: var(--muted); }
.fs-mapping-table { min-width: 850px; }
.fs-mapping-table th:nth-child(1) { width: 25%; }
.fs-mapping-table th:nth-child(2) { width: 27%; }
.fs-mapping-table th:nth-child(3) { width: 19%; }
.fs-mapping-table th:nth-child(4) { width: 12%; }
.fs-mapping-table td { padding: 14px 12px; }
.fs-mapping-table input:not([type=checkbox]), .fs-mapping-table select { width: 100%; min-width: 0; }
.fs-log-table { min-width: 840px; }
.fs-log-table td { vertical-align: top; }
.fs-log-table summary { cursor: pointer; white-space: nowrap; }
.fs-log-table pre { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 280px; font: inherit; font-size: 12px; }
.feishu-sync-page .error-box { overflow-wrap: anywhere; }
@media (max-width: 650px) {
  .fs-fields { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .fs-actions { gap: 8px; }
  .fs-actions .btn { flex: 1 1 140px; }
  .fs-status { display: grid; gap: 10px; }
}
