.wecom-sync-page{padding:20px 24px 28px;color:#243247;font-size:13px}
.wecom-sync-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.wecom-sync-toolbar h2{font-size:20px;line-height:28px;font-weight:700;color:#172033;margin:0}
.wecom-sync-toolbar p{font-size:13px;line-height:20px;color:#6f8198;margin:3px 0 0}
.wecom-sync-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;flex-wrap:wrap}
.wecom-sync-actions .btn{height:32px;padding:0 14px;border-radius:8px;font-size:13px}
.wecom-sync-page .btn:disabled,.wecom-sync-page .btn.is-disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
.wecom-sync-page .btn.is-disabled:hover{background:#fff;border-color:#dde4ed;color:#555}
.wecom-sync-scope{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:11px 14px;margin-bottom:14px;border:1px solid #d8e8f7;border-radius:8px;background:#f1f8fe;color:#365c7d;line-height:20px}
.wecom-sync-scope strong{font-weight:600;color:#244b6d}
.wecom-sync-scope-mode{white-space:nowrap;color:#4b6f91}
.wecom-sync-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.wecom-sync-summary-card{min-width:0;min-height:96px;padding:16px 18px;background:#fff;border:1px solid #e6ebf2;border-radius:10px}
.wecom-sync-summary-label{font-size:12px;line-height:18px;color:#7c8ea5;margin-bottom:7px}
.wecom-sync-summary-value{font-size:22px;line-height:28px;font-weight:700;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wecom-sync-summary-value.small{font-size:15px;line-height:28px}
.wecom-sync-connection{display:inline-flex;align-items:center;gap:7px}
.wecom-sync-connection::before{content:"";width:8px;height:8px;border-radius:50%;background:#94a3b8}
.wecom-sync-connection.connected{color:#15803d}
.wecom-sync-connection.connected::before{background:#22a55b}
.wecom-sync-connection.not_read{color:#64748b}
.wecom-sync-panel{background:#fff;border:1px solid #e6ebf2;border-radius:10px;overflow:hidden}
.wecom-sync-filterbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e9eef4;background:#fbfcfe}
.wecom-sync-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.wecom-sync-tab{height:28px;padding:0 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:#64748b;font-size:12px;cursor:pointer}
.wecom-sync-tab:hover{background:#f1f5f9;color:#334155}
.wecom-sync-tab.active{background:#eaf2ff;border-color:#cfe0fb;color:#245fae;font-weight:600}
.wecom-sync-tab span{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:9px;background:#e8edf3;color:#64748b;font-size:11px}
.wecom-sync-tab.active span{background:#fff;color:#245fae}
.wecom-sync-search{width:210px;height:30px;padding:0 10px;border:1px solid #dfe6ee;border-radius:7px;background:#fff;color:#334155;font-size:13px;outline:none}
.wecom-sync-search:focus{border-color:#8eb6ed;box-shadow:0 0 0 2px rgba(59,130,246,.1)}
.wecom-sync-table-wrap{overflow:auto;max-width:100%}
.wecom-sync-table{width:100%;min-width:1402px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px}
.wecom-sync-table th{position:sticky;top:0;z-index:3;padding:10px 11px;border-bottom:1px solid #e5ebf2;background:#f7f9fc;color:#64748b;font-size:12px;font-weight:600;text-align:left;white-space:nowrap}
.wecom-sync-table td{padding:11px;border-bottom:1px solid #edf1f5;color:#334155;line-height:19px;vertical-align:top}
.wecom-sync-table tbody tr:hover td{background:#fbfdff}
.wecom-sync-table tbody tr:last-child td{border-bottom:0}
.wecom-sync-person strong{display:block;color:#1f2937;font-size:13px;margin-bottom:2px}
.wecom-sync-person span,.wecom-sync-muted{color:#8191a6;font-size:12px}
.wecom-sync-status{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:2px 8px;border-radius:5px;font-size:12px;font-weight:600;white-space:nowrap}
.wecom-sync-status.bind{background:#eaf3ff;color:#2563a9}
.wecom-sync-status.create{background:#eaf8f0;color:#167848}
.wecom-sync-status.change{background:#fff4e7;color:#a85a10}
.wecom-sync-status.same{background:#edf8f1;color:#347a52}
.wecom-sync-status.error{background:#fff0ed;color:#bb4d38}
.wecom-sync-status.mapping{background:#fff7e8;color:#9a6208}
.wecom-sync-status.ignored,.wecom-sync-status.missing{background:#f1f4f7;color:#66768a}
.wecom-sync-confidence{display:block;margin-top:5px;color:#7b8da4;font-size:11px}
.wecom-sync-department strong{display:block;color:#26364b;font-size:13px;line-height:19px}
.wecom-sync-department span{display:block;color:#8191a6;font-size:12px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wecom-sync-diffs{display:grid;gap:5px}
.wecom-sync-diff{font-size:12px;line-height:18px;color:#52657c}
.wecom-sync-diff-label{color:#8191a6;margin-right:4px}
.wecom-sync-diff-old{text-decoration:line-through;color:#94a3b8}
.wecom-sync-diff-arrow{margin:0 5px;color:#a4b0bf}
.wecom-sync-diff-new{color:#a65b16;font-weight:600}
.wecom-sync-reason{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#a5503f;font-size:12px;line-height:18px;word-break:normal;overflow-wrap:break-word}
.wecom-sync-row-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.wecom-sync-row-actions .btn{height:26px;padding:0 8px;border-radius:6px;font-size:11px}
.wecom-sync-empty{padding:46px 20px;text-align:center;color:#7f90a5}
.wecom-sync-empty strong{display:block;margin-bottom:6px;color:#42556d;font-size:14px}
.wecom-sync-empty p{margin:0;font-size:12px;line-height:19px}
.wecom-sync-selection{font-size:12px;color:#6f8198}
.wecom-sync-selection strong{color:#2563a9}
.wecom-sync-batchbar{display:flex;align-items:center;min-height:42px;padding:7px 14px;border-bottom:1px solid #e9eef4;background:#fff}
.wecom-sync-batch-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.wecom-sync-batch-actions .btn{height:28px;padding:0 10px;border-radius:6px;font-size:12px}
.wecom-sync-modal{position:fixed;inset:0;z-index:10020;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.42)}
.wecom-sync-modal-card{width:min(680px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 22px 56px rgba(15,23,42,.24)}
.wecom-sync-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #e8edf3}
.wecom-sync-modal-head h3{font-size:16px;line-height:22px;font-weight:700;color:#1f2937;margin:0}
.wecom-sync-modal-close{width:28px;height:28px;border:0;background:transparent;color:#718096;font-size:22px;line-height:28px;cursor:pointer}
.wecom-sync-modal-body{padding:16px 18px}
.wecom-sync-modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e8edf3;background:#fafbfd}
.wecom-sync-modal-foot .btn{height:32px;padding:0 14px;font-size:13px;border-radius:8px}
.wecom-sync-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wecom-sync-field label{display:block;margin-bottom:5px;color:#52657c;font-size:12px;font-weight:600}
.wecom-sync-field input,.wecom-sync-field select{width:100%;height:34px;padding:0 10px;border:1px solid #dfe6ee;border-radius:7px;background:#fff;color:#334155;font-size:13px;outline:none}
.wecom-sync-field input:focus,.wecom-sync-field select:focus{border-color:#8eb6ed;box-shadow:0 0 0 2px rgba(59,130,246,.1)}
.wecom-sync-update-list{display:grid;gap:8px}
.wecom-sync-update-item{display:grid;grid-template-columns:24px 100px minmax(0,1fr);align-items:center;gap:8px;padding:10px;border:1px solid #e7ecf2;border-radius:7px}
.wecom-sync-update-values{font-size:12px;line-height:18px;color:#52657c}
.wecom-sync-warning{margin-top:12px;padding:9px 11px;border:1px solid #fed7aa;border-radius:7px;background:#fff7ed;color:#9a4b0b;font-size:12px;line-height:19px}
.wecom-sync-history{display:grid;gap:8px}
.wecom-sync-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid #e7ecf2;border-radius:7px;background:#fff;cursor:pointer}
.wecom-sync-history-item:hover{border-color:#b9d2f0;background:#f8fbff}
.wecom-sync-history-item strong{display:block;color:#334155;font-size:13px}
.wecom-sync-history-item span{color:#8191a6;font-size:12px}
.wecom-sync-mapping-modal{width:min(1120px,97vw)}
.wecom-mapping-note{padding:9px 11px;border:1px solid #d8e8f7;border-radius:7px;background:#f3f8fd;color:#476984;font-size:12px;line-height:18px}
.wecom-mapping-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) 120px minmax(180px,240px) auto auto;gap:8px;align-items:center;margin-top:12px}
.wecom-mapping-toolbar input,.wecom-mapping-toolbar select,.wecom-mapping-table select{height:32px;padding:0 9px;border:1px solid #dfe6ee;border-radius:7px;background:#fff;color:#334155;font-size:12px;outline:none}
.wecom-mapping-toolbar .btn{height:32px;padding:0 11px;font-size:12px;border-radius:7px}
.wecom-mapping-summary{margin:10px 0 7px;color:#6f8198;font-size:12px}
.wecom-mapping-table-wrap{max-height:54vh;overflow:auto;border:1px solid #e5ebf2;border-radius:8px}
.wecom-mapping-table{width:100%;min-width:1060px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px}
.wecom-mapping-table th{position:sticky;top:0;z-index:2;padding:9px;border-bottom:1px solid #e5ebf2;background:#f7f9fc;color:#64748b;text-align:left;white-space:nowrap}
.wecom-mapping-table td{padding:9px;border-bottom:1px solid #edf1f5;color:#42556d;vertical-align:middle}
.wecom-mapping-table th:nth-child(1){width:40px}.wecom-mapping-table th:nth-child(2){width:260px}.wecom-mapping-table th:nth-child(3){width:110px}.wecom-mapping-table th:nth-child(4){width:130px}.wecom-mapping-table th:nth-child(5){width:180px}.wecom-mapping-table th:nth-child(6){width:86px}.wecom-mapping-table th:nth-child(7){width:74px}.wecom-mapping-table th:nth-child(8){width:200px}
.wecom-mapping-table select{width:100%}
.wecom-mapping-tree-name strong{display:block;color:#26364b;font-size:12px}
.wecom-mapping-tree-name span{display:block;margin-top:2px;color:#8a9aae;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wecom-mapping-auto strong{display:block;color:#334155;font-size:12px}
.wecom-mapping-auto span{display:block;margin-top:2px;color:#8a9aae;font-size:11px}
.wecom-mapping-source{color:#63768d}
.wecom-mapping-status{display:inline-flex;padding:2px 7px;border-radius:5px;font-size:11px;font-weight:600}
.wecom-mapping-status.active{background:#edf8f1;color:#347a52}.wecom-mapping-status.pending{background:#fff7e8;color:#9a6208}.wecom-mapping-status.conflict{background:#fff0ed;color:#b94b37}
.wecom-calibration-modal{width:min(1180px,97vw)}
.wecom-calibration-safety{padding:10px 12px;border:1px solid #d8e8f7;border-radius:7px;background:#f3f8fd;color:#426680;font-size:12px;line-height:19px}
.wecom-calibration-summary{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:12px 0;border:1px solid #e5ebf2;border-radius:8px;background:#fafbfd;overflow:hidden}
.wecom-calibration-summary.master-data-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.wecom-calibration-summary-item{min-width:0;padding:10px 12px;border-right:1px solid #e5ebf2}
.wecom-calibration-summary-item:last-child{border-right:0}
.wecom-calibration-summary-item span{display:block;color:#7b8ca2;font-size:11px;line-height:17px;white-space:nowrap}
.wecom-calibration-summary-item strong{display:block;margin-top:2px;color:#26364b;font-size:18px;line-height:24px}
.wecom-calibration-summary-item.emphasized strong{color:#b46115}
.wecom-calibration-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:#64748b;font-size:12px}
.wecom-calibration-tools label{display:inline-flex;align-items:center;gap:6px;color:#42556d;font-weight:600}
.wecom-calibration-table-wrap{max-height:52vh;overflow:auto;border:1px solid #e5ebf2;border-radius:8px}
.wecom-calibration-table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px}
.wecom-calibration-table th{position:sticky;top:0;z-index:2;padding:9px 10px;border-bottom:1px solid #e5ebf2;background:#f7f9fc;color:#64748b;text-align:left;white-space:nowrap}
.wecom-calibration-table td{padding:10px;border-bottom:1px solid #edf1f5;color:#42556d;line-height:18px;vertical-align:top;background:#fff}
.wecom-calibration-table tbody tr:last-child td{border-bottom:0}
.wecom-calibration-table tbody tr.readonly td{background:#fbfcfd}
.wecom-calibration-table th:nth-child(1){width:40px}.wecom-calibration-table th:nth-child(2){width:150px}.wecom-calibration-table th:nth-child(3){width:165px}.wecom-calibration-table th:nth-child(4){width:260px}.wecom-calibration-table th:nth-child(5){width:250px}.wecom-calibration-table th:nth-child(6){width:210px}
.wecom-calibration-mapping{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:start;gap:4px}
.wecom-calibration-mapping span,.wecom-calibration-mapping strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wecom-calibration-mapping span{color:#8191a6}.wecom-calibration-mapping b{color:#a4b0bf;text-align:center}.wecom-calibration-mapping strong{color:#334155}
.wecom-calibration-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:5px;color:#7b8da4;font-size:11px;line-height:17px;word-break:normal;overflow-wrap:break-word}
.master-data-kind{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:6px;background:#eef4fb;color:#416488;font-size:12px;font-weight:600;white-space:nowrap}
.wecom-calibration-footnote{margin-right:auto;color:#718096;font-size:11px}
@media(max-width:1100px){.wecom-sync-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.wecom-sync-filterbar{align-items:flex-start;flex-direction:column}.wecom-sync-search{width:100%}}
@media(max-width:1100px){.wecom-calibration-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.wecom-calibration-summary-item{border-bottom:1px solid #e5ebf2}.wecom-calibration-summary-item:nth-child(4n){border-right:0}}
@media(max-width:900px){.wecom-mapping-toolbar{grid-template-columns:1fr 1fr}.wecom-mapping-toolbar input{grid-column:1/-1}}
@media(max-width:720px){.wecom-sync-page{padding:16px}.wecom-sync-toolbar{align-items:stretch;flex-direction:column}.wecom-sync-actions{display:grid;grid-template-columns:1fr 1fr}.wecom-sync-actions .btn:first-child{grid-column:1/-1}.wecom-sync-summary{grid-template-columns:1fr 1fr;gap:8px}.wecom-sync-summary-card{padding:13px;min-height:86px}.wecom-sync-summary-value{font-size:19px}.wecom-sync-scope{flex-direction:column}.wecom-sync-scope-mode{white-space:normal}.wecom-sync-form-grid{grid-template-columns:1fr}.wecom-sync-modal{padding:10px}.wecom-sync-history-item{grid-template-columns:1fr}.wecom-sync-preview-head{align-items:flex-start;flex-direction:column}.wecom-mapping-toolbar{grid-template-columns:1fr}.wecom-mapping-toolbar input{grid-column:auto}.wecom-sync-batch-actions{align-items:stretch;display:grid;grid-template-columns:1fr 1fr;width:100%}.wecom-calibration-summary,.wecom-calibration-summary.master-data-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.wecom-calibration-summary-item:nth-child(2n){border-right:0}.wecom-calibration-tools{align-items:flex-start;flex-direction:column}.wecom-calibration-footnote{width:100%;margin:0 0 4px}.wecom-sync-modal-foot{flex-wrap:wrap}}
