html,
|
body,
|
#app {
|
height: 100%;
|
margin: 0;
|
min-height: 0;
|
overflow: hidden;
|
background: #fff;
|
color: #1f1f1f;
|
font-family: Arial, sans-serif;
|
}
|
.plugin-shell {
|
display: flex;
|
box-sizing: border-box;
|
height: 100%;
|
min-height: 0;
|
flex-direction: column;
|
}
|
.plugin-header {
|
flex: 0 0 auto;
|
padding: 4px 12px;
|
border-bottom: 1px solid #f0f0f0;
|
background: #fff;
|
}
|
.status-line {
|
display: flex;
|
width: 100%;
|
min-width: 0;
|
min-height: 28px;
|
align-items: center;
|
justify-content: space-between;
|
}
|
.connection-status {
|
margin: 0;
|
white-space: nowrap;
|
}
|
.plugin-version {
|
color: rgb(0 0 0 / 45%);
|
white-space: nowrap;
|
}
|
.status-actions {
|
display: flex;
|
min-width: 0;
|
align-items: center;
|
gap: 4px;
|
}
|
.plugin-scroll-region {
|
min-height: 0;
|
flex: 1 1 auto;
|
padding: 12px 0;
|
overflow-x: hidden;
|
overflow-y: auto;
|
}
|
.field-list {
|
width: 100%;
|
padding-inline: 0;
|
margin: 0;
|
}
|
.field-list-compact {
|
margin: 0;
|
}
|
.field-toolbar {
|
display: flex;
|
min-width: 0;
|
flex: 0 0 auto;
|
align-items: center;
|
gap: 8px;
|
padding: 8px 12px;
|
border-bottom: 1px solid #f0f0f0;
|
background: #fff;
|
}
|
.field-filter {
|
min-width: 0;
|
flex: 1 1 auto;
|
margin-bottom: 0;
|
}
|
.field-toolbar > .ant-btn,
|
.field-toolbar > .ant-tooltip-disabled-compatible-wrapper {
|
flex: 0 0 auto;
|
}
|
.field-row {
|
box-sizing: border-box;
|
width: 100%;
|
padding: 8px 12px;
|
margin: 0;
|
transition: background 120ms ease;
|
}
|
.field-row:hover {
|
background: #f5f9ff;
|
}
|
.field-row.field-row-focused {
|
background: #e8f3ff;
|
}
|
.field-label {
|
display: flex;
|
min-height: 28px;
|
align-items: center;
|
justify-content: space-between;
|
gap: 4px;
|
}
|
.field-row label {
|
display: flex;
|
min-width: 0;
|
align-items: center;
|
flex-wrap: wrap;
|
gap: 4px;
|
font-size: 13px;
|
font-weight: 500;
|
overflow-wrap: anywhere;
|
}
|
.field-label .ant-btn {
|
flex: 0 0 28px;
|
color: #d9d9d9;
|
transition: color 120ms ease;
|
}
|
.field-row:hover .field-label .ant-btn {
|
color: #1f1f1f;
|
}
|
.field-row .ant-select,
|
.field-row .ant-picker {
|
width: 100%;
|
}
|
.required-mark,
|
.field-error,
|
.directory-problem,
|
.status-problem {
|
color: #d4380d;
|
}
|
.field-error {
|
margin-top: 4px;
|
font-size: 12px;
|
}
|
.field-conflict {
|
display: grid;
|
gap: 6px;
|
margin-top: 8px;
|
padding: 8px;
|
border-left: 2px solid #d4380d;
|
background: #fff7e6;
|
font-size: 12px;
|
}
|
.field-conflict-value {
|
display: grid;
|
grid-template-columns: 42px minmax(0, 1fr);
|
gap: 6px;
|
}
|
.field-conflict span,
|
.field-conflict strong {
|
overflow-wrap: anywhere;
|
}
|
.field-conflict span {
|
color: #8c8c8c;
|
}
|
.field-conflict .ant-space {
|
flex-wrap: wrap;
|
justify-content: flex-end;
|
}
|
.conflict-summary {
|
display: grid;
|
gap: 2px;
|
margin-top: 8px;
|
padding: 8px 0;
|
border-block: 1px solid #ffccc7;
|
}
|
.conflict-summary-title {
|
display: flex;
|
min-height: 28px;
|
align-items: center;
|
gap: 6px;
|
padding-inline: 6px;
|
color: #d4380d;
|
font-size: 13px;
|
}
|
.conflict-summary-item {
|
display: grid;
|
min-height: 34px;
|
grid-template-columns: minmax(0, 1fr) auto;
|
align-items: center;
|
gap: 8px;
|
padding: 4px 8px;
|
border: 0;
|
background: transparent;
|
color: inherit;
|
text-align: left;
|
cursor: pointer;
|
}
|
.conflict-summary-item:hover {
|
background: #fff7e6;
|
}
|
.conflict-summary-item span {
|
overflow: hidden;
|
text-overflow: ellipsis;
|
white-space: nowrap;
|
}
|
.conflict-summary-item small {
|
color: #8c8c8c;
|
}
|
.repeat-group {
|
margin: 12px 0 64px;
|
border-top: 1px solid #f0f0f0;
|
}
|
.repeat-group-header,
|
.repeat-row-header {
|
display: flex;
|
min-height: 40px;
|
align-items: center;
|
justify-content: space-between;
|
}
|
.repeat-count {
|
margin-left: 8px;
|
color: #8c8c8c;
|
font-size: 12px;
|
}
|
.repeat-row {
|
padding-top: 10px;
|
border-top: 1px solid #f0f0f0;
|
}
|
.repeat-row-title {
|
display: flex;
|
align-items: center;
|
gap: 6px;
|
color: #8c8c8c;
|
font-size: 12px;
|
}
|
.repeat-delete-state {
|
margin: 4px 0 8px;
|
}
|
.repeat-delete-form {
|
display: grid;
|
gap: 8px;
|
margin: 8px 0 12px;
|
padding-left: 8px;
|
border-left: 2px solid #ff4d4f;
|
}
|
.repeat-delete-form .ant-space {
|
justify-content: flex-end;
|
}
|
.step-navigation {
|
display: grid;
|
min-height: 44px;
|
grid-template-columns: 32px minmax(0, 1fr) 32px 32px;
|
align-items: center;
|
margin: 8px -4px 0;
|
border-block: 1px solid #f0f0f0;
|
}
|
.current-step {
|
display: flex;
|
min-width: 0;
|
align-items: center;
|
justify-content: center;
|
gap: 6px;
|
padding: 0 4px;
|
font-size: 13px;
|
font-weight: 600;
|
}
|
.current-step > span:first-child {
|
overflow: hidden;
|
text-overflow: ellipsis;
|
white-space: nowrap;
|
}
|
.current-step .ant-tag,
|
.directory-step .ant-tag {
|
margin: 0;
|
}
|
.step-sections {
|
margin-inline: -12px;
|
}
|
.step-sections > .ant-collapse-item > .ant-collapse-header {
|
padding-inline: 16px;
|
}
|
.step-sections .ant-collapse-content-box {
|
padding: 0 16px;
|
}
|
.step-sections .field-list,
|
.step-sections .repeat-group {
|
margin-bottom: 12px;
|
}
|
.step-directory {
|
padding-top: 12px;
|
}
|
.directory-summary {
|
display: flex;
|
min-height: 28px;
|
align-items: center;
|
gap: 8px;
|
font-size: 12px;
|
}
|
.directory-summary strong {
|
margin-right: auto;
|
font-size: 14px;
|
}
|
.directory-step {
|
width: 100%;
|
border: 0;
|
background: transparent;
|
color: inherit;
|
text-align: left;
|
cursor: pointer;
|
}
|
.directory-steps {
|
display: grid;
|
margin-top: 10px;
|
border-top: 1px solid #f0f0f0;
|
}
|
.directory-step {
|
display: grid;
|
min-height: 40px;
|
grid-template-columns: 18px minmax(0, 1fr) auto auto;
|
align-items: center;
|
gap: 6px;
|
padding: 4px 6px;
|
border-top: 1px solid #fafafa;
|
font-size: 13px;
|
}
|
.directory-step:hover,
|
.directory-step-current {
|
background: #f5f7fa;
|
}
|
.directory-step-name {
|
overflow: hidden;
|
text-overflow: ellipsis;
|
white-space: nowrap;
|
}
|
.directory-step-status {
|
color: #8c8c8c;
|
font-size: 12px;
|
}
|
.status-complete {
|
color: #389e0d;
|
}
|
.status-progress {
|
color: #8c8c8c;
|
}
|
.source-sync-list {
|
display: grid;
|
max-height: min(360px, calc(100vh - 180px));
|
overflow-y: auto;
|
}
|
.source-sync-item {
|
display: grid;
|
gap: 8px;
|
padding: 10px 0;
|
border-bottom: 1px solid #f0f0f0;
|
}
|
.source-sync-field {
|
display: grid;
|
gap: 2px;
|
min-width: 0;
|
}
|
.source-sync-heading {
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
gap: 8px;
|
min-width: 0;
|
}
|
.source-sync-heading strong {
|
min-width: 0;
|
}
|
.source-sync-field strong,
|
.source-sync-field small,
|
.source-sync-values span,
|
.source-sync-values strong {
|
overflow-wrap: anywhere;
|
}
|
.source-sync-field small {
|
color: #8c8c8c;
|
}
|
.source-sync-lineage {
|
color: #595959 !important;
|
}
|
.source-sync-values {
|
display: grid;
|
grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr);
|
align-items: center;
|
gap: 6px;
|
}
|
.source-sync-values > :nth-child(2) {
|
color: #8c8c8c;
|
}
|
.plugin-shell footer {
|
position: static;
|
z-index: 2;
|
flex: 0 0 auto;
|
padding: 10px 12px 12px;
|
border-top: 1px solid #f0f0f0;
|
background: #fff;
|
}
|