.pipeline-outer-card{transition:box-shadow .2s ease,transform .2s ease}.pipeline-outer-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001f}.dashboard-container{padding:24px;background:#f0f2f5;min-height:calc(100vh - 64px)}.dashboard-header{margin-bottom:24px;padding:0 8px}.dashboard-header h2{margin-bottom:8px;color:#001529}@media (max-width: 768px){.dashboard-container{padding:16px}.dashboard-header{margin-bottom:16px}}@media (max-width: 576px){.dashboard-container{padding:12px}}.ant-card{border-radius:8px;box-shadow:0 2px 8px #0000000f;transition:box-shadow .3s ease}.ant-card:hover{box-shadow:0 4px 16px #0000001f}.ant-statistic{text-align:center}.ant-statistic-content{font-size:28px!important}.ant-statistic-title{margin-bottom:8px;font-weight:500;color:#666}.ant-progress-text{font-size:12px;color:#666}.ant-list-item{padding:12px 0;border-bottom:1px solid #f0f0f0}.ant-list-item:last-child{border-bottom:none}.ant-list-item-meta-title{margin-bottom:4px}.ant-list-item-meta-description{color:#666;font-size:12px}.ant-tag{margin:0;border-radius:12px;font-size:11px;padding:2px 8px;line-height:1.2}.ant-btn{border-radius:6px;font-weight:500}.ant-btn-primary{background:linear-gradient(135deg,#1890ff,#40a9ff);border:none}.ant-btn-primary:hover{background:linear-gradient(135deg,#40a9ff,#1890ff);transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.ant-card .ant-btn{transition:all .3s ease}.ant-card .ant-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.ai-agent-card{border:2px solid transparent;transition:all .3s ease;background:linear-gradient(145deg,#fff,#f8f9ff)}.ai-agent-card:hover{border-color:#722ed1;box-shadow:0 8px 24px #722ed11f;transform:translateY(-2px)}.ai-agent-card .ant-card-body{padding:16px}.ai-agent-card .ant-btn-primary{background:linear-gradient(135deg,#722ed1,#9254de);border:none}.ai-agent-card .ant-btn-primary:hover{background:linear-gradient(135deg,#9254de,#722ed1);box-shadow:0 4px 12px #722ed166}.workflow-card{transition:all .3s ease;background:linear-gradient(145deg,#fff,#fafafa)}.workflow-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.workflow-card .ant-card-body{padding:20px;height:100%;display:flex;flex-direction:column;justify-content:space-between}.ant-steps-item-process .ant-steps-item-icon{background:linear-gradient(135deg,#1890ff,#40a9ff);border-color:#1890ff}.ant-steps-item-process .ant-steps-item-icon .ant-steps-icon{color:#fff}.ant-steps-item-finish .ant-steps-item-icon{background:linear-gradient(135deg,#52c41a,#73d13d);border-color:#52c41a}.ant-steps-item-finish .ant-steps-item-icon .ant-steps-icon{color:#fff}.monitoring-metric{padding:12px;background:linear-gradient(145deg,#f8f9fa,#fff);border-radius:8px;border-left:4px solid #1890ff;margin-bottom:8px}.ant-timeline-item-content{padding-left:16px}.ant-timeline-item-tail{border-left:2px solid #e8e8e8}.ant-timeline .ant-timeline-item-last .ant-timeline-item-tail{display:none}.ant-badge-status-dot{width:8px;height:8px}.ant-tag{border-radius:12px;font-size:11px;padding:2px 8px;line-height:1.4;font-weight:500}.dashboard-header{background:linear-gradient(135deg,#f0f2ff,#fff);border-radius:12px;padding:24px;margin-bottom:32px;border:1px solid #e6f0ff}.dashboard-header h2{margin-bottom:8px;color:#001529;font-weight:600}.dashboard-header .ant-typography{color:#666;font-size:16px;line-height:1.6}.ant-card-head-title{font-weight:600;font-size:16px}.ant-spin-dot-item{background-color:#722ed1}.ant-btn-loading .ant-btn-loading-icon{color:#fffc}.ant-card-hoverable{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.ant-card-hoverable:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001f}.ant-progress-line{margin-bottom:0}.ant-progress-bg{border-radius:10px}.ant-progress-outer{padding-right:0;margin-right:0}.status-excellent{color:#52c41a;background:linear-gradient(135deg,#f6ffed 0% 100%)}.status-good{color:#1890ff;background:linear-gradient(135deg,#f0f5ff 0% 100%)}.status-warning{color:#fa8c16;background:linear-gradient(135deg,#fff7e6 0% 100%)}.status-critical{color:#f5222d;background:linear-gradient(135deg,#fff2f0 0% 100%)}@media (max-width: 1200px){.workflow-card{height:auto;min-height:200px}}@media (max-width: 768px){.ant-statistic-content{font-size:24px!important}.dashboard-header h2{font-size:20px}.dashboard-header{padding:20px;margin-bottom:24px}.ai-agent-card .ant-card-body{padding:12px}.workflow-card .ant-card-body{padding:16px}.monitoring-metric{padding:10px}}@media (max-width: 576px){.ant-statistic-content{font-size:20px!important}.dashboard-header h2{font-size:18px}.ant-statistic-title{font-size:12px}.dashboard-header{padding:16px;margin-bottom:20px}.dashboard-container{padding:12px}.workflow-card{height:auto;min-height:180px}}@keyframes pulse{0%{box-shadow:0 0 #722ed1b3}70%{box-shadow:0 0 0 10px #722ed100}to{box-shadow:0 0 #722ed100}}.ai-agent-card[data-status=running]{animation:pulse 2s infinite}.ant-btn:focus,.ant-card:focus{outline:2px solid #1890ff;outline-offset:2px}.integrated-overview .ant-card{border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.integrated-overview .ant-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0000001f}.build-status-card{border-left:4px solid;border-radius:8px!important}.build-status-card.success{border-left-color:#52c41a;background:linear-gradient(135deg,#f6ffed,#fff)}.build-status-card.building{border-left-color:#1890ff;background:linear-gradient(135deg,#f0f5ff,#fff)}.build-status-card.failed{border-left-color:#f5222d;background:linear-gradient(135deg,#fff2f0,#fff)}.build-status-card.deploying{border-left-color:#fa8c16;background:linear-gradient(135deg,#fff7e6,#fff)}.security-alert-card{border-radius:8px;margin-bottom:12px;transition:all .2s ease}.security-alert-card.critical{border-left:4px solid #f5222d;background:linear-gradient(135deg,#fff2f0,#fff);box-shadow:0 2px 8px #f5222d1a}.security-alert-card.high{border-left:4px solid #fa541c;background:linear-gradient(135deg,#fff2e8,#fff);box-shadow:0 2px 8px #fa541c1a}.security-alert-card.medium{border-left:4px solid #fa8c16;background:linear-gradient(135deg,#fff7e6,#fff);box-shadow:0 2px 8px #fa8c161a}.security-alert-card.low{border-left:4px solid #52c41a;background:linear-gradient(135deg,#f6ffed,#fff);box-shadow:0 2px 8px #52c41a1a}.security-alert-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.performance-metric{padding:12px;border-radius:8px;margin-bottom:12px;transition:all .3s ease}.performance-metric.met{background:linear-gradient(135deg,#f6ffed,#fff);border:1px solid #b7eb8f}.performance-metric.at-risk{background:linear-gradient(135deg,#fff7e6,#fff);border:1px solid #ffd591}.performance-metric.breached{background:linear-gradient(135deg,#fff2f0,#fff);border:1px solid #ffb3ba}.performance-metric:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.backup-card{transition:all .3s ease;border-radius:12px}.backup-card.success{background:linear-gradient(135deg,#f6ffed,#fff);border:2px solid #b7eb8f}.backup-card.failed{background:linear-gradient(135deg,#fff2f0,#fff);border:2px solid #ffb3ba}.backup-card.running{background:linear-gradient(135deg,#f0f5ff,#fff);border:2px solid #85c1e9;animation:pulse-blue 2s infinite}.backup-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001f}.scan-result-card{background:#fafafa;border-radius:6px;padding:12px;margin-bottom:12px;transition:all .2s ease}.scan-result-card:hover{background:#f0f2f5;transform:translateY(-1px)}.scan-result-card.completed{border-left:3px solid #52c41a}.scan-result-card.scanning{border-left:3px solid #1890ff}.scan-result-card.failed{border-left:3px solid #f5222d}.health-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.health-indicator.excellent{background:#52c41a;box-shadow:0 0 0 2px #52c41a33}.health-indicator.good{background:#1890ff;box-shadow:0 0 0 2px #1890ff33}.health-indicator.warning{background:#fa8c16;box-shadow:0 0 0 2px #fa8c1633}.health-indicator.critical{background:#f5222d;box-shadow:0 0 0 2px #f5222d33;animation:pulse-red 1.5s infinite}.summary-card{text-align:center;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e8e8e8;transition:all .3s cubic-bezier(.4,0,.2,1)}.summary-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #00000026;border-color:transparent}.summary-card.excellent{border-color:#52c41a}.summary-card.warning{border-color:#fa8c16}.summary-card.critical{border-color:#f5222d}@keyframes pulse-blue{0%{box-shadow:0 0 #1890ffb3}70%{box-shadow:0 0 0 8px #1890ff00}to{box-shadow:0 0 #1890ff00}}@keyframes pulse-red{0%{box-shadow:0 0 #f5222db3}70%{box-shadow:0 0 0 6px #f5222d00}to{box-shadow:0 0 #f5222d00}}.integrated-quick-actions .ant-btn{border-radius:8px;font-weight:500;height:32px;transition:all .3s ease}.integrated-quick-actions .ant-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.integrated-quick-actions .ant-btn-primary{background:linear-gradient(135deg,#722ed1,#9254de);border:none}.integrated-quick-actions .ant-btn-primary:hover{background:linear-gradient(135deg,#9254de,#722ed1)}@media (max-width: 768px){.integrated-overview .ant-card{margin-bottom:16px}.build-status-card,.security-alert-card,.backup-card{margin-bottom:12px}.performance-metric{padding:8px;margin-bottom:8px}}@media (max-width: 576px){.integrated-overview .ant-col{margin-bottom:12px}.summary-card{padding:16px 12px}.scan-result-card{padding:8px;margin-bottom:8px}}.workflow-dashboard{min-height:calc(100vh - 200px)}.workflow-dashboard h2{font-weight:700;background:linear-gradient(135deg,#1890ff,#722ed1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.workflow-dashboard .ant-card{border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.workflow-critical-banner{border:2px solid #ff4d4f!important;background:linear-gradient(135deg,#fff2f0,#fff)!important;box-shadow:0 4px 20px #ff4d4f26!important;animation:pulse-critical 3s infinite}@keyframes pulse-critical{0%,to{box-shadow:0 4px 20px #ff4d4f26}50%{box-shadow:0 6px 25px #ff4d4f40}}.workflow-health-card{background:linear-gradient(135deg,#fff,#f8f9ff);border:1px solid #e6f0ff;transition:all .3s ease;position:relative;overflow:hidden}.workflow-health-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#52c41a,#1890ff,#722ed1)}.workflow-health-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001f;border-color:#1890ff}.health-category{text-align:center;padding:16px;border-radius:8px;transition:all .3s ease;background:linear-gradient(135deg,#fafafa,#fff);border:1px solid #e8e8e8}.health-category:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014;border-color:#1890ff}.health-category-deployment{border-left:4px solid #1890ff}.health-category-security{border-left:4px solid #fa8c16}.health-category-performance{border-left:4px solid #52c41a}.health-category-infrastructure{border-left:4px solid #722ed1}.workflow-task-card{border-radius:10px;margin-bottom:12px;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.workflow-task-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;transition:all .3s ease}.workflow-task-card.urgent:before{background:linear-gradient(180deg,#ff4d4f,#ff7875)}.workflow-task-card.high:before{background:linear-gradient(180deg,#fa8c16,#ffa940)}.workflow-task-card.medium:before{background:linear-gradient(180deg,#1890ff,#40a9ff)}.workflow-task-card.low:before{background:linear-gradient(180deg,#52c41a,#73d13d)}.workflow-task-card:hover{transform:translate(8px) translateY(-2px);box-shadow:0 8px 25px #0000001f}.workflow-task-card.urgent:hover{background:linear-gradient(135deg,#fff2f0,#fff);border-color:#ff4d4f}.workflow-task-card.action-required{background:linear-gradient(135deg,#fff2f0,#fff);border:1px solid #ffb3ba;box-shadow:0 2px 8px #ff4d4f1a}.workflow-task-card.action-required:hover{box-shadow:0 8px 25px #ff4d4f26}.priority-section{margin-bottom:24px}.priority-section h5{font-weight:600;margin-bottom:16px;padding-left:12px;border-left:4px solid;display:flex;align-items:center;gap:8px}.priority-urgent h5{border-left-color:#ff4d4f;color:#ff4d4f}.priority-important h5{border-left-color:#1890ff;color:#1890ff}.stats-card{background:linear-gradient(135deg,#f0f5ff,#fff);border:1px solid #d6e4ff;border-radius:12px;text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.stats-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#1890ff,#40a9ff)}.stats-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #1890ff26;border-color:#1890ff}.stats-card .ant-statistic-value{font-weight:700;font-size:24px!important}.goals-card{background:linear-gradient(135deg,#f6ffed,#fff);border:1px solid #b7eb8f;border-radius:12px}.goal-item{margin-bottom:16px;padding:12px;background:#fffc;border-radius:8px;border-left:3px solid #52c41a;transition:all .3s ease}.goal-item:hover{background:#fff;transform:translate(4px);box-shadow:0 2px 8px #52c41a1a}.recommendation-item{padding:16px;border-radius:8px;margin-bottom:12px;background:linear-gradient(135deg,#fff7e6,#fff);border:1px solid #ffd591;transition:all .3s ease;cursor:pointer}.recommendation-item:hover{background:linear-gradient(135deg,#fff2e8,#fff);transform:translate(8px);box-shadow:0 4px 12px #fa8c1626;border-color:#fa8c16}.recommendation-item .ant-avatar{background:linear-gradient(135deg,#fa8c16,#ffa940);color:#fff;font-weight:600;box-shadow:0 2px 8px #fa8c164d}.view-mode-switch{background:#ffffffe6;padding:8px 16px;border-radius:20px;border:1px solid #e8e8e8;backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000000f}.view-mode-switch .ant-switch{margin:0 8px}.view-mode-switch .ant-tag{margin:0 4px;border-radius:12px;font-size:11px;transition:all .3s ease}.view-mode-switch .ant-tag[data-active=true]{transform:scale(1.05);box-shadow:0 2px 8px #1890ff4d}.workflow-progress{margin-bottom:8px}.workflow-progress .ant-progress-line{margin-bottom:0}.workflow-progress.deployment .ant-progress-bg{background:linear-gradient(90deg,#1890ff,#40a9ff)}.workflow-progress.security .ant-progress-bg{background:linear-gradient(90deg,#fa8c16,#ffa940)}.workflow-progress.uptime .ant-progress-bg{background:linear-gradient(90deg,#52c41a,#73d13d)}.task-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#666;margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0}.task-meta .ant-tag{font-size:10px;padding:1px 6px;margin:0}.task-assignee{display:flex;align-items:center;gap:4px;color:#666;font-size:10px}@media (max-width: 1200px){.workflow-task-card:hover{transform:translate(4px) translateY(-1px)}.stats-card .ant-statistic-value{font-size:20px!important}}@media (max-width: 768px){.workflow-dashboard h2{font-size:20px}.health-category{padding:12px;margin-bottom:8px}.workflow-task-card{margin-bottom:8px}.workflow-task-card:hover{transform:translateY(-1px)}.stats-card .ant-statistic-value{font-size:18px!important}.goal-item{padding:8px;margin-bottom:12px}.recommendation-item{padding:12px;margin-bottom:8px}.view-mode-switch{padding:6px 12px}}@media (max-width: 576px){.workflow-task-card .ant-card-body{padding:12px}.health-category{padding:8px}.stats-card .ant-statistic-value{font-size:16px!important}.priority-section h5{font-size:14px;padding-left:8px}.task-meta{flex-direction:column;align-items:flex-start;gap:4px}.view-mode-switch{flex-direction:column;gap:8px;padding:8px}.view-mode-switch .ant-switch{margin:0}}@keyframes pipeline-pulse{0%,to{box-shadow:0 0 0 4px #1890ff33}50%{box-shadow:0 0 0 8px #1890ff1a}}@keyframes pipeline-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.pipeline-flow-container{position:relative;overflow:hidden;background:linear-gradient(90deg,transparent 0%,rgba(24,144,255,.1) 50%,transparent 100%);background-size:200% 100%;animation:pipeline-flow 3s ease-in-out infinite}.pipeline-stage-node{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:2}.pipeline-stage-node:hover{transform:scale(1.1);z-index:3}.pipeline-stage-node.running{animation:pipeline-pulse 2s infinite}.pipeline-flow-arrow{transition:all .3s ease;position:relative;z-index:1}.pipeline-flow-arrow.active{background:linear-gradient(90deg,#52c41a,#1890ff);animation:pipeline-flow 2s ease-in-out infinite}.pipeline-flow-arrow.running{background:linear-gradient(90deg,#1890ff,#40a9ff);animation:pipeline-flow 1.5s ease-in-out infinite}.project-list-item{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.project-list-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(24,144,255,.05) 50%,transparent 100%);transition:left .5s ease;z-index:0}.project-list-item:hover:before{left:100%}.project-list-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001f}.project-list-item.selected{border-color:#1890ff!important;background:linear-gradient(135deg,#f0f5ff,#fff)!important;box-shadow:0 4px 15px #1890ff26}.pipeline-status-excellent{background:linear-gradient(135deg,#f6ffed,#fff);border-left:4px solid #52c41a}.pipeline-status-good{background:linear-gradient(135deg,#f0f5ff,#fff);border-left:4px solid #1890ff}.pipeline-status-warning{background:linear-gradient(135deg,#fff7e6,#fff);border-left:4px solid #fa8c16}.pipeline-status-error{background:linear-gradient(135deg,#fff2f0,#fff);border-left:4px solid #f5222d}.tech-stack-tag{background:linear-gradient(135deg,#fafafa,#fff);border:1px solid #e8e8e8;transition:all .2s ease}.tech-stack-tag:hover{background:linear-gradient(135deg,#e6f7ff,#fff);border-color:#91d5ff;transform:translateY(-1px)}.health-score-indicator{position:relative;display:inline-block}.health-score-indicator:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at center,transparent 60%,rgba(255,255,255,.2) 100%);pointer-events:none}.dashboard-container{background:#f0f2f5;color:#262626}.dashboard-header{background:linear-gradient(135deg,#f0f2ff,#fff);border:1px solid #e6f0ff;color:#262626}.dashboard-header h2{color:#001529}.integrated-overview{color:#262626}.integrated-overview .ant-card{background:#fff;border:1px solid #e8e8e8;color:#262626;box-shadow:0 2px 8px #0000000f}.integrated-overview .ant-card .ant-card-body{background:#fff;color:#262626}.integrated-overview .ant-typography{color:#262626!important}.integrated-overview .ant-typography.ant-typography-secondary{color:#8c8c8c!important}.build-status-card,.security-alert-card,.backup-card,.scan-result-card{background:#fff!important;border:1px solid #e8e8e8;color:#262626!important}.workflow-health-card,.stats-card,.goals-card,.workflow-task-card{background:#fff;border-color:#e8e8e8;color:#262626}.health-category{background:linear-gradient(135deg,#fafafa,#fff);border:1px solid #e8e8e8;color:#262626}.recommendation-item{background:linear-gradient(135deg,#fff7e6,#fff);border:1px solid #ffd591;color:#262626}.goal-item{background:#fffffff2;border-left-color:#52c41a;color:#262626}.view-mode-switch{background:#fffffffa;border:1px solid #e8e8e8;color:#262626}.integrated-overview .ant-statistic{color:#262626!important}.integrated-overview .ant-statistic-title{color:#595959!important}.integrated-overview .ant-statistic-content,.integrated-overview .ant-badge-status-text{color:#262626!important}.integrated-overview .ant-tag{color:inherit}.integrated-overview .ant-progress-text{color:#262626!important}.integrated-overview .scan-result-card{background:#fafafa!important;color:#262626!important}.integrated-overview .scan-result-card .ant-typography,.integrated-overview .ant-card-head-title{color:#262626!important}.integrated-overview .ant-card-body{background:#fff!important}.integrated-overview .ant-modal{color:#262626}.integrated-overview .ant-modal-content{background:#fff;color:#262626}.pipeline-stage-card{transition:all .3s cubic-bezier(.4,0,.2,1)!important}.pipeline-stage-card:hover{transform:none!important;box-shadow:none!important;border-color:inherit!important}.pipeline-stage-card:active{transform:translateY(0)!important}.pipeline-stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}@media (max-width: 768px){.pipeline-stage-grid{grid-template-columns:repeat(2,1fr);gap:6px}}@media (max-width: 576px){.pipeline-stage-grid{grid-template-columns:1fr;gap:4px}}.pipeline-stage-card{min-height:75px!important}@media (max-width: 768px){.pipeline-stage-card{min-height:70px!important}}@media (max-width: 576px){.pipeline-stage-card{min-height:65px!important}}@keyframes pipeline-running{0%,to{box-shadow:0 0 #1890ff66}50%{box-shadow:0 0 0 4px #1890ff00}}.pipeline-stage-card[data-status=running]{animation:pipeline-running 2s infinite}@keyframes pipeline-error{0%,to{box-shadow:0 0 #f5222d66}50%{box-shadow:0 0 0 4px #f5222d00}}.pipeline-stage-card[data-status=error]{animation:pipeline-error 1.5s infinite}.enhanced-project-list-container{color:#262626}.enhanced-project-list-container .ant-list-item{border:none;margin-bottom:24px;border-radius:12px;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000f}.enhanced-project-list-container .ant-list-item:hover{transform:translateY(-4px);box-shadow:0 12px 28px #00000026}.enhanced-project-list-container .ant-list-item.selected{border-color:#1890ff!important;background:linear-gradient(135deg,#f0f5ff,#fff)!important;box-shadow:0 8px 25px #1890ff33}.enhanced-project-list-container .ant-list-item .project-header{background:linear-gradient(135deg,#fafafa,#fff);border-bottom:1px solid #f0f0f0;transition:all .3s ease}.enhanced-project-list-container .ant-list-item:hover .project-header{background:linear-gradient(135deg,#f0f5ff,#fff)}.enhanced-project-list-container .ant-list-item.selected .project-header{background:linear-gradient(135deg,#e6f7ff,#fff)}.enhanced-project-list-container .project-areas-grid{padding:16px 20px;background:#fff}.enhanced-project-list-container .project-area-card{height:100%;border-radius:8px;transition:all .3s ease;position:relative;overflow:hidden}.enhanced-project-list-container .project-area-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:8px 8px 0 0;transition:all .3s ease}.enhanced-project-list-container .project-area-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.enhanced-project-list-container .project-basic-info:before{background:linear-gradient(90deg,#1890ff,#40a9ff)}.enhanced-project-list-container .pipeline-flow:before{background:linear-gradient(90deg,#52c41a,#73d13d)}.enhanced-project-list-container .security-vulnerabilities:before{background:linear-gradient(90deg,#fa8c16,#ffa940)}.enhanced-project-list-container .health-status:before{background:linear-gradient(90deg,#f5222d,#ff4d4f)}.enhanced-project-list-container .ant-card-small>.ant-card-head{min-height:40px;padding:0 12px;border-bottom:1px solid #f0f0f0}.enhanced-project-list-container .ant-card-small>.ant-card-head .ant-card-head-title{font-size:13px;font-weight:600;color:#262626}.enhanced-project-list-container .ant-card-small>.ant-card-body{padding:12px}.enhanced-project-list-container .ant-steps-small .ant-steps-item{margin-right:12px}.enhanced-project-list-container .ant-steps-small .ant-steps-item-title{font-size:11px;margin-top:4px}.enhanced-project-list-container .ant-steps-small .ant-steps-item-icon{width:20px;height:20px;line-height:20px}.enhanced-project-list-container .security-badge{display:inline-block;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:500;text-align:center;min-width:40px}.enhanced-project-list-container .security-badge.critical{background:linear-gradient(135deg,#fff2f0,#ffccc7);color:#f5222d;border:1px solid #ffccc7}.enhanced-project-list-container .security-badge.high{background:linear-gradient(135deg,#fff2e8,#ffd8bf);color:#fa541c;border:1px solid #ffd8bf}.enhanced-project-list-container .security-badge.safe{background:linear-gradient(135deg,#f6ffed,#d9f7be);color:#52c41a;border:1px solid #d9f7be}.enhanced-project-list-container .health-dashboard{text-align:center}.enhanced-project-list-container .health-dashboard .ant-progress-circle{display:inline-block;margin-bottom:8px}.enhanced-project-list-container .health-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.enhanced-project-list-container .health-metric{text-align:center;padding:4px;border-radius:4px;background:#00000005}.enhanced-project-list-container .health-metric-title{font-size:10px;color:#8c8c8c;margin-bottom:2px}.enhanced-project-list-container .health-metric-value{font-size:12px;font-weight:600;color:#262626}.enhanced-project-list-container .status-indicators{display:flex;justify-content:center;gap:4px;margin-top:8px}.enhanced-project-list-container .status-indicators .ant-badge{font-size:8px}@media (max-width: 1200px){.enhanced-project-list-container .project-areas-grid .ant-col{margin-bottom:12px}.enhanced-project-list-container .ant-card-small>.ant-card-body{padding:10px}}@media (max-width: 768px){.enhanced-project-list-container .ant-list-item{margin-bottom:16px}.enhanced-project-list-container .project-areas-grid{padding:12px 16px}.enhanced-project-list-container .ant-steps-small{display:none}.enhanced-project-list-container .health-metrics{grid-template-columns:1fr;gap:4px}.enhanced-project-list-container .project-area-card{min-height:120px}}@media (max-width: 576px){.enhanced-project-list-container .project-areas-grid .ant-col{margin-bottom:8px}.enhanced-project-list-container .ant-card-small>.ant-card-head{min-height:36px;padding:0 8px}.enhanced-project-list-container .ant-card-small>.ant-card-body{padding:8px}.enhanced-project-list-container .health-dashboard .ant-progress-circle{width:60px!important;height:60px!important}}@keyframes pulse-security{0%,to{box-shadow:0 0 #fa8c1666}50%{box-shadow:0 0 0 6px #fa8c1600}}.enhanced-project-list-container .security-scanning{animation:pulse-security 2s infinite}@keyframes pulse-pipeline{0%,to{box-shadow:0 0 #52c41a66}50%{box-shadow:0 0 0 6px #52c41a00}}.enhanced-project-list-container .pipeline-running{animation:pulse-pipeline 2s infinite}.enhanced-project-list-container .compliance-indicators{display:flex;flex-wrap:wrap;gap:2px;margin-top:4px}.enhanced-project-list-container .compliance-indicators .ant-tag{margin:0;padding:1px 4px;font-size:9px;line-height:1.2;border-radius:6px}.enhanced-project-list-container .tech-stack-display{margin-top:8px}.enhanced-project-list-container .tech-stack-display .ant-tag{margin:2px 1px;padding:1px 4px;font-size:9px;border-radius:6px;background:linear-gradient(135deg,#fafafa,#fff);border:1px solid #e8e8e8;transition:all .2s ease}.enhanced-project-list-container .tech-stack-display .ant-tag:hover{background:linear-gradient(135deg,#e6f7ff,#fff);border-color:#91d5ff;transform:translateY(-1px)}.enhanced-project-list-container .project-meta-info{margin:8px 0}.enhanced-project-list-container .project-meta-info .ant-row{margin-bottom:4px}.enhanced-project-list-container .project-meta-info .ant-col{display:flex;align-items:center;gap:4px;color:#595959;font-size:11px}.enhanced-project-list-container .ant-statistic{text-align:center}.enhanced-project-list-container .ant-statistic-title{font-size:10px;color:#8c8c8c;margin-bottom:2px}.enhanced-project-list-container .ant-statistic-content{font-size:13px!important;font-weight:600;color:#262626}.enhanced-project-list-container{background:#f0f2f5;color:#262626}.enhanced-project-list-container .ant-card{background:#fff;color:#262626;border:1px solid #e8e8e8}.enhanced-project-list-container .ant-typography{color:#262626!important}.enhanced-project-list-container .ant-typography.ant-typography-secondary{color:#8c8c8c!important}.project-description{font-size:12px}.security-tags{margin-top:4px}.security-progress{margin-left:16px}.activity-time{font-size:11px}.activity-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.activity-assignee{font-size:11px}.metric-header{display:flex;justify-content:space-between;margin-bottom:8px}.availability-score{color:#52c41a}.alerts-title{display:block;margin-bottom:8px}.no-project-selected{text-align:center;padding:48px 0}.select-project-button{margin-top:16px}.dashboard-tab-content{padding:24px}.dashboard-timeline{margin-bottom:16px}.dashboard-metrics{width:100%}.dashboard-summary-card{margin-bottom:16px}.dashboard-container .ant-card{will-change:transform,box-shadow}.dashboard-container .ant-card:hover{will-change:auto}.dashboard-container .ant-card:focus-visible{outline:2px solid #1890ff;outline-offset:2px}.dashboard-container .ant-btn:focus-visible{outline:2px solid #1890ff;outline-offset:2px}@media (max-width: 576px){.security-progress{margin-left:0;margin-top:8px}.activity-header{flex-direction:column;align-items:flex-start;gap:4px}.metric-header{flex-direction:column;gap:4px}}.infra-manage.management-page{padding:24px;background:#f5f7fa;min-height:100vh}.infra-manage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.infra-manage-container{padding:20px;background-color:#f9fafb}.infra-manage-wrapper{background-color:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000d;overflow:hidden;padding:24px;margin-bottom:24px}.btn-add,.btn-refresh{border-radius:8px!important;box-shadow:0 2px #0000000b!important}.infra-manage-wrapper .ant-card{box-shadow:none;background-color:transparent}.infra-manage-wrapper .ant-card-body{padding:0}.infra-manage-wrapper .ant-table-wrapper{background:#fff;border-radius:8px}.infra-manage-wrapper .ant-table-thead>tr>th{background-color:#fafafa;font-weight:600;color:#1f2937}.infra-manage-wrapper .ant-table-tbody>tr:hover>td{background-color:#f0f7ff}.infra-settings.management-page{padding:24px;background:#f5f7fa;min-height:100vh}.infra-settings-container{padding:20px;background-color:#f9fafb}.infra-settings-wrapper{background-color:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000d;overflow:hidden;padding:24px;margin-bottom:24px}.infra-title{margin:0 0 52px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.btn-refresh{border-radius:8px!important;box-shadow:0 2px #0000000b!important}.infra-selector{margin-bottom:24px}.infra-selector-card{background-color:#f7fafc;border-radius:8px;box-shadow:0 2px 4px #00000008}.infra-selector-card .ant-card-body{padding:16px}.infra-select{height:42px}.infra-select .ant-select-selector{height:42px!important;border-radius:8px!important;display:flex;align-items:center;padding:0 16px!important;border:1px solid #e2e8f0!important}.infra-select .ant-select-selection-item{display:flex;align-items:center}.infra-option-name{font-weight:500;margin:0 8px}.infra-status-tag{padding:0 8px;border-radius:4px;font-weight:400;font-size:12px}.infra-select-dropdown .ant-select-item{padding:10px 12px}.infra-select-dropdown .ant-select-item-option-selected{background-color:#e6f7ff}.infra-stats-container{margin-bottom:32px}.node-stat-group{display:flex;gap:16px;margin-bottom:24px}.node-stat-item{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000001a;flex:1}.node-stat-icon{font-size:24px;color:#1890ff}.node-stat-label{display:block;color:#8c8c8c;font-size:14px}.node-stat-number{display:block;font-size:20px;font-weight:600;color:#262626}.ha-stat .node-stat-icon{color:#1677ff;background-color:#e6f4ff}.master-stat .node-stat-icon{color:#52c41a;background-color:#f0f9eb}.worker-stat .node-stat-icon{color:#fa541c;background-color:#fff2e8}.infra-detail-card .ant-card-head{border-bottom:none!important}.infra-detail-card .ant-card-body{padding-top:0!important}.empty-description{padding:32px 0;text-align:center}.empty-description .ant-typography{margin:0}.empty-description .ant-typography-secondary{font-size:14px;margin-top:8px}.infra-settings{padding:20px}.infra-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.infra-header h4{margin:0;font-weight:600}.infra-btn-refresh{background-color:#1890ff;border-color:#1890ff}.infra-btn-refresh:hover{background-color:#096dd9;border-color:#096dd9}.loading-container{display:flex;justify-content:center;align-items:center;padding:40px 0}.infra-select-dropdown .ant-select-item-option-content{display:flex;align-items:center}.infra-node-table{margin-top:16px}.infra-node-table .ant-table-thead>tr>th{background:#fafafa;font-weight:600}.node-status-running{color:#52c41a}.node-status-stopped{color:#bfbfbf}.node-status-maintenance{color:#faad14}.infra-detail-card{margin-bottom:24px}.infra-detail-header{display:flex;justify-content:space-between;align-items:center}.infra-detail-content{margin-top:16px}.infra-settings-wrapper .ant-card{box-shadow:none;background-color:transparent}.infra-settings-wrapper .ant-card .ant-card-head{padding:0 16px}.infra-settings-wrapper .ant-card-body{padding:0}.infra-settings-wrapper .ant-table-wrapper{background:#fff;border-radius:8px}.infra-settings-wrapper .ant-table-thead>tr>th{background-color:#fafafa;font-weight:600;color:#1f2937}.infra-settings-wrapper .ant-table-tbody>tr:hover>td{background-color:#f0f7ff}.infra-settings-wrapper .ant-select-selector{border-radius:6px!important}.infra-detail-section{background-color:#fff;border-radius:8px;padding:20px;margin-bottom:16px;border:1px solid #eeeeee;box-shadow:0 1px 4px #0000000a;position:relative;overflow:hidden}.infra-detail-section .ant-typography{color:#1f2937;display:flex;align-items:center}.infra-content-wrapper{padding:16px 0;margin-top:0}.ha-settings-container{padding:16px 0}.ha-status-card .ant-card{border-radius:8px;box-shadow:0 1px 4px #0000000d}.ha-status-card .ant-card-head{background-color:#f5f7fb;border-bottom:1px solid #edf2f7}.ha-status{display:flex;align-items:center;padding:16px 0}.ha-status-icon{margin-right:16px;display:flex;align-items:center;justify-content:center}.ha-status-info{flex:1}.ha-status-title{font-size:16px;font-weight:600;margin-bottom:4px}.ha-status-description{color:#4a5568;font-size:14px}.ha-info-section{background-color:#fff;padding:0}.ha-info-section .ant-list{border-radius:8px}.ha-info-section .ant-list-item{padding:12px 16px}.ha-action{padding:16px 0 8px;border-top:1px dashed #edf2f7}.action-cell{display:flex;gap:8px;align-items:center;justify-content:center}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:4px;transition:all .3s}.action-btn:hover{background-color:#f0f0f0}.action-btn.edit:hover{color:#1890ff}.action-btn.delete:hover{color:#ff4d4f}.action-btn.build:hover{color:#faad14}@media (max-width: 768px){.infra-settings.management-page{padding:16px}.infra-settings .page-header{flex-direction:column;align-items:flex-start;gap:12px}.infra-settings .page-header-actions{width:100%;justify-content:flex-end}.infra-settings .stat-row .ant-col{flex:0 0 100%;max-width:100%;margin-bottom:12px}.infra-settings .stat-row .ant-col:last-child{margin-bottom:0}.node-stat-group{flex-direction:column;gap:12px}.node-stat-item{flex:0 0 100%}.infra-settings-wrapper,.infra-detail-section{padding:16px}}@media (max-width: 576px){.infra-settings .page-header-title h4{font-size:18px}.infra-select{height:38px}.infra-select .ant-select-selector{height:38px!important;padding:0 12px!important}.infra-status-tag{font-size:11px;padding:0 6px}}.runtime-list-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014}.runtime-list-card .ant-card-head{border-bottom:1px solid #f0f0f0;padding:16px 20px}.runtime-list-card .ant-card-head-title{font-size:15px;font-weight:600;color:#1f2937}.runtime-list-card .ant-card-body{padding:0}.runtime-list-container{max-height:500px;overflow-y:auto}.runtime-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:all .2s ease;background:#fff}.runtime-item:last-child{border-bottom:none}.runtime-item:hover{background:#f9fafb}.runtime-item:focus{outline:2px solid #1890ff;outline-offset:-2px}.runtime-item.selected{background:#e6f7ff;border-left:3px solid #1890ff}.runtime-item-main{display:flex;align-items:flex-start;flex:1;gap:16px;min-width:0}.runtime-item-icon{width:40px;height:40px;border-radius:10px;background:#f0f5ff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.runtime-item-icon .anticon{font-size:20px;color:#1890ff}.runtime-item-content{flex:1;min-width:0}.runtime-item-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.runtime-item-name{font-weight:600;font-size:14px;color:#1f2937}.runtime-type-tag,.runtime-status-tag{font-size:11px;padding:0 6px;border-radius:4px}.runtime-item-description{color:#6b7280;font-size:13px;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:400px}.runtime-item-meta{display:flex;align-items:center;gap:16px}.runtime-meta-info{color:#8c8c8c;font-size:12px;display:flex;align-items:center;gap:6px}.runtime-meta-info .anticon{font-size:12px}.runtime-item-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.action-menu-btn{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center}.action-menu-btn:hover{background:#e6f7ff;color:#1890ff}.action-delete-btn{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center}.action-delete-btn:hover{background:#fff1f0}.runtime-list-container .ant-empty{padding:60px 20px}.ant-dropdown-menu{border-radius:8px;box-shadow:0 3px 12px #0000001f;padding:4px}.ant-dropdown-menu-item{border-radius:4px;padding:8px 12px;font-size:13px}.ant-dropdown-menu-item .anticon{margin-right:8px}.runtime-list-container::-webkit-scrollbar{width:6px}.runtime-list-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.runtime-list-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.runtime-list-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 768px){.runtime-item{padding:12px 16px}.runtime-item-main{gap:12px}.runtime-item-icon{width:36px;height:36px}.runtime-item-icon .anticon{font-size:18px}.runtime-item-description{max-width:200px}.runtime-item-meta{flex-direction:column;align-items:flex-start;gap:4px}}.device-management.management-page{padding:24px;background:#f5f7fa;min-height:100vh}.device-management .page-header{background:#fff;padding:20px 24px;border-radius:12px;margin-bottom:20px;box-shadow:0 1px 3px #00000014;display:flex;justify-content:space-between;align-items:center}.device-management .page-header-title{display:flex;align-items:center;gap:12px}.device-management .page-header-title h1{margin:0;font-size:22px;font-weight:600;color:#1f2937}.device-management .page-header-description{color:#6b7280;margin-top:4px;font-size:14px}.device-management .page-header-actions{display:flex;align-items:center;gap:12px}.device-management .stats-row{margin-bottom:20px}.device-management .stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014;transition:transform .2s,box-shadow .2s;height:100%}.device-management .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.device-management .stat-card .ant-statistic-title{font-size:13px;color:#6b7280;margin-bottom:8px}.device-management .stat-card .ant-statistic-content{font-size:28px;font-weight:600}.device-management .stat-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.device-management .stat-card-icon.blue{background:#e6f7ff;color:#1890ff}.device-management .stat-card-icon.green{background:#f6ffed;color:#52c41a}.device-management .stat-card-icon.orange{background:#fff7e6;color:#fa8c16}.device-management .main-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.device-management .main-card .ant-card-head{border-bottom:1px solid #f0f0f0;padding:16px 24px;background:#fff}.device-management .main-card .ant-card-head-title{font-size:16px;font-weight:600;color:#1f2937}.device-management .main-card .ant-card-body{padding:0}.device-management .ant-table{border-radius:0}.device-management .ant-table-thead>tr>th{background:#fafbfc;font-weight:600;font-size:13px;color:#374151;padding:14px 16px;border-bottom:1px solid #e5e7eb}.device-management .ant-table-tbody>tr>td{padding:14px 16px;font-size:13px;border-bottom:1px solid #f0f0f0}.device-management .ant-table-tbody>tr:hover>td{background:#f9fafb}.device-management .ant-table-tbody>tr:last-child>td{border-bottom:none}.device-management .ant-table-row-expand-icon{color:#1890ff}.device-management .ant-tag{border-radius:4px;font-size:12px;padding:2px 8px;font-weight:500}.device-management .ant-btn{border-radius:6px;font-weight:500;height:36px;padding:0 16px}.device-management .ant-btn-primary{box-shadow:0 2px 4px #1890ff4d}.device-management .ant-btn-sm{height:28px;padding:0 10px;font-size:12px}.device-management .ant-btn-text{color:#6b7280;padding:4px 8px;height:auto}.device-management .ant-btn-text:hover{color:#1890ff;background:#f0f7ff}.device-management .ant-btn-text.ant-btn-dangerous:hover{color:#ff4d4f;background:#fff1f0}.device-management .ant-progress{margin:0}.device-management .ant-progress-bg{border-radius:4px}.device-management .ant-modal-content{border-radius:12px;overflow:hidden}.device-management .ant-modal-header{padding:20px 24px;border-bottom:1px solid #f0f0f0}.device-management .ant-modal-title{font-size:16px;font-weight:600;color:#1f2937}.device-management .ant-modal-body{padding:24px}.device-management .ant-modal-footer{padding:16px 24px;border-top:1px solid #f0f0f0}.device-management .ant-form-item-label>label{font-weight:500;color:#374151}.device-management .ant-input,.device-management .ant-input-number,.device-management .ant-select-selector,.device-management .ant-tree-select-selector{border-radius:6px!important}.device-management .ant-input:focus,.device-management .ant-input-number:focus,.device-management .ant-select-focused .ant-select-selector{box-shadow:0 0 0 2px #1890ff33}.device-management .ant-divider{margin:16px 0;font-weight:500;color:#374151}.device-management .ssh-path-display{padding:16px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:8px;display:flex;align-items:center;overflow-x:auto}.device-management .ssh-path-node{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #d9d9d9;white-space:nowrap}.device-management .ssh-path-arrow{color:#52c41a;font-size:16px;margin:0 8px}.device-management .detail-section{background:#fafbfc;border-radius:8px;padding:16px;margin-bottom:16px}.device-management .detail-section-title{font-weight:600;color:#1f2937;margin-bottom:12px;display:flex;align-items:center;gap:8px}.device-management .runtime-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border-radius:6px;border:1px solid #d9d9d9;margin-right:8px;margin-bottom:8px}.device-management .runtime-tag.active{border-color:#52c41a;background:#f6ffed}.device-management .runtime-tag.inactive{border-color:#d9d9d9;background:#fafafa;color:#8c8c8c}.device-management .ant-pagination{margin:16px;padding-top:16px;border-top:1px solid #f0f0f0}.device-management .ant-pagination-item{border-radius:6px}.device-management .ant-pagination-item-active{border-color:#1890ff;background:#1890ff}.device-management .ant-pagination-item-active a{color:#fff}@media (max-width: 768px){.device-management.management-page{padding:16px}.device-management .page-header{flex-direction:column;align-items:flex-start;gap:16px}.device-management .page-header-actions{width:100%;justify-content:flex-end}.device-management .stat-card{margin-bottom:12px}}@media (max-width: 576px){.device-management.management-page{padding:12px}.device-management .ant-table-thead>tr>th,.device-management .ant-table-tbody>tr>td{padding:10px 12px;font-size:12px}}.backup-manage.management-page{padding:24px;background:#f5f7fa;min-height:100vh}.backup-manage .page-header{background:#fff;padding:20px 24px;border-radius:12px;margin-bottom:20px;box-shadow:0 1px 3px #00000014;display:flex;justify-content:space-between;align-items:center}.backup-manage .page-header-title{display:flex;align-items:center;gap:12px}.backup-manage .page-header-title h1{margin:0;font-size:22px;font-weight:600;color:#1f2937}.backup-manage .page-header-description{color:#6b7280;margin-top:4px;font-size:14px}.backup-manage .page-header-actions{display:flex;align-items:center;gap:12px}.backup-manage .stats-row{margin-bottom:20px}.backup-manage .stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014;transition:transform .2s,box-shadow .2s;height:100%}.backup-manage .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.backup-manage .stat-card .ant-statistic-title{font-size:13px;color:#6b7280;margin-bottom:8px}.backup-manage .stat-card .ant-statistic-content{font-size:28px;font-weight:600}.backup-manage .stat-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.backup-manage .stat-card-icon.blue{background:#e6f7ff;color:#1890ff}.backup-manage .stat-card-icon.green{background:#f6ffed;color:#52c41a}.backup-manage .stat-card-icon.orange{background:#fff7e6;color:#fa8c16}.backup-manage .main-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.backup-manage .main-card .ant-card-body{padding:0}.backup-manage .card-title{display:flex;align-items:center;gap:8px;font-weight:600}.backup-manage .ant-card{margin-bottom:0;border-radius:12px;box-shadow:0 1px 3px #00000014}.backup-manage .ant-tabs,.backup-manage .ant-table{margin-top:0}.backup-modal{max-width:800px}.backup-modal .modal-title{display:flex;align-items:center;gap:8px;font-size:18px}.backup-modal .modal-title-icon{font-size:24px;color:#1890ff}.backup-modal .backup-steps{margin:0 0 32px;padding:0 24px}.backup-modal .ant-steps-item-icon{background:#fff;border-color:#1890ff}.backup-modal .ant-steps-item-active .ant-steps-item-icon{background:#1890ff}.backup-modal .step-content{padding:0 24px}.backup-modal .step-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.backup-modal .step-icon{font-size:32px;color:#1890ff;margin-top:4px}.backup-modal .step-info h3{margin:0 0 8px;font-size:18px;color:#000000d9}.backup-modal .step-info p{margin:0;color:#00000073}.backup-modal .server-option{display:flex;align-items:center;gap:12px;padding:4px 0}.backup-modal .server-option .anticon{font-size:20px;color:#1890ff}.backup-modal .server-name{font-weight:500;color:#000000d9}.backup-modal .server-ip{font-size:12px;color:#00000073}.backup-modal .step-description{margin-top:24px;padding:16px;background:#f5f5f5;border-radius:4px}.backup-modal .step-description h4{margin:0 0 12px;color:#000000d9}.backup-modal .step-description ul{margin:0;padding-left:20px;color:#00000073}.backup-modal .step-description li{margin-bottom:8px}.backup-modal .step-description li:last-child{margin-bottom:0}.backup-modal .step-description code{background:#fff;padding:2px 6px;border-radius:3px;color:#1890ff}.backup-modal .schedule-group{display:grid;grid-template-columns:1fr 1fr;gap:16px}.backup-modal .ant-form-item{margin-bottom:24px}.backup-modal .ant-select{width:100%}.backup-modal .ant-select-selector{height:40px!important;padding:4px 12px!important}.backup-modal .ant-select-selection-item{display:flex!important;align-items:center!important;gap:8px!important;height:32px!important;line-height:32px!important;padding:0!important}.backup-modal .server-option{display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;overflow:hidden!important}.backup-modal .server-option .anticon{flex-shrink:0!important;font-size:16px!important;color:#1890ff!important}.backup-modal .server-option>div{flex:1!important;min-width:0!important;overflow:hidden!important}.backup-modal .server-name{font-weight:500!important;color:#000000d9!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.backup-modal .server-ip{font-size:12px!important;color:#00000073!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.backup-modal .ant-select-dropdown{padding:4px!important}.backup-modal .ant-select-item{padding:8px 12px!important}.backup-modal .ant-select-item-option-content{display:flex!important;align-items:center!important;gap:8px!important}.backup-modal .ant-select-item-option-selected:not(.ant-select-item-option-disabled){background-color:#e6f7ff!important}.backup-modal .ant-select-selection-placeholder{color:#00000040!important;line-height:32px!important}.backup-modal .ant-modal-footer{padding:16px 24px;border-top:1px solid #f0f0f0}.backup-modal .ant-btn{min-width:80px;height:40px;padding:6.4px 16px;font-size:16px}.backup-modal .schedule-section{margin-bottom:24px}.backup-modal .schedule-section .ant-form-item{margin-bottom:16px}.backup-modal .schedule-section .ant-radio-group{width:100%;display:flex;gap:8px}.backup-modal .schedule-section .ant-radio-button-wrapper{flex:1;text-align:center}.backup-modal .schedule-section .ant-picker{width:100%}.backup-modal .server-label{display:flex;align-items:center;gap:8px}.backup-modal .server-label .server-name{font-weight:500;color:#000000d9}.backup-status{padding:20px 0}.status-card{margin-bottom:20px}.status-content{padding:8px 0}.status-item{display:flex;margin-bottom:16px;align-items:center}.status-item:last-child{margin-bottom:0}.status-label{width:160px;color:#000000d9;font-weight:500}.status-value{flex:1;display:flex;align-items:center;gap:12px}.status-value{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status-note{color:#666;font-size:12px;font-style:italic}.status-summary{margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.status-item{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 0;border-bottom:1px solid #f0f0f0}.status-item:last-child{border-bottom:none}.status-label{font-weight:500;color:#262626;min-width:180px;flex-shrink:0}.status-value{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.status-value .ant-tag{margin:0}.status-value .endpoint{color:#666;font-size:12px;margin-left:8px}.status-note{color:#666;font-size:12px;font-style:italic;margin-left:8px}.backup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px;background:#fafafa;border-radius:6px}.backup-header .ant-select{min-width:200px}.status-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.status-card .ant-card-head{background:#f8f9fa;border-bottom:1px solid #e9ecef}.status-card .ant-card-head-title{font-weight:600;color:#212529}.status-content{padding:16px 0}.step-progress{margin:24px 0;padding:16px;background:#f5f5f5;border-radius:4px}.progress-item{display:flex;align-items:center;margin-bottom:12px}.progress-item:last-child{margin-bottom:0}.progress-label{flex:1;margin-right:12px;color:#000000d9}.progress-item .anticon{font-size:16px}.backup-steps{margin-bottom:24px}.backup-modal .ant-modal-body{padding:24px}.modal-title{display:flex;align-items:center;gap:8px}.modal-title-icon{font-size:20px;color:#1890ff}.final-step-content{margin-top:24px;padding-top:24px;border-top:1px solid #f0f0f0}.config-summary{margin-bottom:24px}.config-summary h3{margin-bottom:16px;color:#000000d9}.summary-card{margin-bottom:12px}.summary-card:last-child{margin-bottom:0}.summary-card .ant-card-head{min-height:40px;padding:0 12px}.summary-card .ant-card-head-title{padding:8px 0}.summary-card .ant-card-body{padding:12px}.summary-card p{margin-bottom:4px}.summary-card p:last-child{margin-bottom:0}.installation-status{margin:24px 0;padding:16px;background:#fafafa;border-radius:4px}.start-installation{text-align:center;margin-top:24px}.help-text{margin-top:8px;color:#00000073;font-size:12px}.process-steps{display:flex;justify-content:space-between;padding:20px 40px;margin-bottom:30px;background-color:#f5f5f5;border-radius:8px}.step-item{display:flex;align-items:center;gap:12px;padding:12px 20px;border-radius:6px;transition:all .3s ease;cursor:default}.step-item.active{background-color:#e6f7ff;border:1px solid #91d5ff}.step-icon{font-size:24px;color:#8c8c8c}.step-item.active .step-icon{color:#1890ff}.step-text{display:flex;flex-direction:column;gap:4px}.step-title{font-size:16px;font-weight:500;color:#262626}.step-item.active .step-title{color:#1890ff}.step-description{font-size:14px;color:#8c8c8c}.step-item.active .step-description{color:#1890ff}.installation-progress-content{padding:16px 0}.installation-progress-content .current-step{margin-bottom:24px}.installation-progress-content .current-step h4{margin:0 0 16px;font-size:16px;color:#000000d9}.installation-logs{margin-top:24px}.installation-logs h4{margin:0 0 12px;font-size:14px;color:#000000d9}.log-container{max-height:300px;overflow-y:auto;border:1px solid #d9d9d9;border-radius:6px;background:#fafafa;padding:12px}.log-entry{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.5;color:#000000d9;margin-bottom:4px;word-break:break-all}.log-entry:last-child{margin-bottom:0}.no-logs{color:#00000073;font-style:italic;text-align:center;padding:20px}.log-entry:contains(""){color:#52c41a}.log-entry:contains(""){color:#ff4d4f}.log-entry:contains("🔄"){color:#faad14}.log-entry:contains("📦"){color:#1890ff}.log-entry:contains("🔧"){color:#722ed1}.log-entry:contains("💾"){color:#13c2c2}.log-entry:contains("🎉"){color:#eb2f96}.backup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px 0;border-bottom:1px solid #f0f0f0}.backup-header>div:first-child{flex:1}.backup-header>div:last-child{flex-shrink:0}.card-title{display:flex;align-items:center;gap:8px;font-weight:600}.ant-card-head-wrapper{display:flex;align-items:center;justify-content:space-between}.ant-card-extra{display:flex;align-items:center;gap:12px}.empty-status{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:#666}.empty-status h3{margin:0 0 8px;color:#262626;font-size:16px;font-weight:500}.empty-status p{margin:0;color:#8c8c8c;font-size:14px;text-align:center;max-width:400px;line-height:1.5}.status-message{display:flex;flex-direction:column;align-items:center;gap:8px;color:#666;font-size:14px}.status-message .anticon{font-size:18px;color:#1890ff}.connected-storage-info{padding:0 12px;border-radius:4px;font-size:12px}.storage-label{font-weight:500;color:#1890ff;margin-right:8px}.storage-status{margin-left:8px;color:#666}.backup-header .ant-space .ant-tag{margin-right:8px}.backup-header .ant-space>span{font-weight:500;color:#666}.status-summary .ant-alert{border-radius:8px}.status-summary .ant-alert-description{line-height:1.5}.status-summary .ant-alert-description>div:first-child{margin-bottom:4px}.status-summary .ant-alert-description>div:last-child{font-style:italic;opacity:.8}.backup-list{padding:16px}.backup-list .ant-card{box-shadow:0 2px 8px #0000001a;border-radius:8px}.backup-list .ant-card-head{border-bottom:1px solid #f0f0f0;padding:16px 24px}.backup-list .ant-card-head-title{font-size:18px;font-weight:600;color:#262626}.backup-list .ant-card-body{padding:24px}.backup-list .ant-alert{margin-bottom:16px;border-radius:6px}.backup-list .ant-tabs-nav{margin-bottom:16px}.backup-list .ant-tabs-tab{padding:8px 16px;font-weight:500}.backup-list .ant-tabs-tab-active{color:#1890ff}.backup-list .ant-table{border-radius:6px;overflow:hidden}.backup-list .ant-table-thead>tr>th{background-color:#fafafa;font-weight:600;color:#262626;border-bottom:1px solid #f0f0f0}.backup-list .ant-table-tbody>tr>td{border-bottom:1px solid #f0f0f0;padding:12px 16px}.backup-list .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.backup-list .ant-tag{border-radius:4px;font-weight:500}.backup-list .ant-space{gap:8px}.backup-list .ant-btn{border-radius:6px;font-weight:500}.backup-list .ant-btn-primary{background-color:#1890ff;border-color:#1890ff}.backup-list .ant-btn-primary:hover{background-color:#40a9ff;border-color:#40a9ff}.backup-list .ant-btn-danger{background-color:#ff4d4f;border-color:#ff4d4f}.backup-list .ant-btn-danger:hover{background-color:#ff7875;border-color:#ff7875}.backup-list .ant-select{border-radius:6px}.backup-list .ant-pagination{margin-top:16px;text-align:right}.backup-list .ant-pagination-item{border-radius:4px}.backup-list .ant-pagination-item-active{background-color:#1890ff;border-color:#1890ff}.backup-list .ant-pagination-item-active a{color:#fff}.backup-list .ant-pagination-options{margin-left:16px}.backup-list .ant-pagination-options-quick-jumper{margin-left:8px}.backup-list .ant-pagination-total-text{color:#8c8c8c;font-size:14px}.backup-list .ant-table-pagination{margin:16px 0 0}.backup-list .ant-table-pagination .ant-pagination-total{color:#8c8c8c;font-size:14px}.backup-list .ant-table-pagination .ant-pagination-item,.backup-list .ant-table-pagination .ant-pagination-prev,.backup-list .ant-table-pagination .ant-pagination-next{min-width:32px;height:32px;line-height:30px}.backup-list .ant-table-pagination .ant-pagination-options{margin-left:16px}.backup-list .ant-table-pagination .ant-pagination-options-size-changer{margin-right:8px}.backup-list .ant-table-pagination .ant-pagination-options-quick-jumper{margin-left:8px}.backup-list .ant-table-pagination .ant-pagination-options-quick-jumper input{width:50px;height:32px;border-radius:4px}.backup-list .ant-table-pagination .ant-pagination-options-quick-jumper button{height:32px;border-radius:4px}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select{width:80px}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-selector{height:32px;border-radius:4px}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-selection-item{line-height:30px}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-arrow{top:50%;transform:translateY(-50%)}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-dropdown{border-radius:6px}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item{padding:8px 12px;border-radius:4px}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item-option-selected{background-color:#e6f7ff;color:#1890ff}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item-option-active{background-color:#f5f5f5}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item-option-disabled{color:#bfbfbf}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item-option-disabled:hover,.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item-option-disabled:active{background-color:transparent}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item-option-disabled:focus{background-color:transparent}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item-option-disabled:visited,.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item-option-disabled:link,.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item-option-disabled:link:hover,.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item-option-disabled:link:active{background-color:transparent}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item-option-disabled:link:focus{background-color:transparent}.backup-list .ant-table-pagination .ant-pagination-options-size-changer .ant-select-item-option-disabled:link:visited{background-color:transparent}.delete-confirm-modal{padding:16px 0}.delete-confirm-modal .ant-alert{margin-bottom:16px;border-radius:6px}.delete-confirm-modal .ant-alert-warning{background-color:#fffbe6;border-color:#ffe58f;color:#faad14}.delete-confirm-modal .ant-alert-warning .ant-alert-icon{color:#faad14}.delete-confirm-modal .ant-alert-warning .ant-alert-message{color:#faad14;font-weight:500}.delete-confirm-modal .ant-alert-warning .ant-alert-description{color:#595959}.delete-confirm-modal .ant-alert-warning .ant-alert-description ul{margin:0;padding-left:16px}.delete-confirm-modal .ant-alert-warning .ant-alert-description li{margin-bottom:4px;line-height:1.5}.delete-confirm-modal .ant-alert-error{background-color:#fff2f0;border-color:#ffccc7;color:#ff4d4f}.delete-confirm-modal .ant-alert-error .ant-alert-icon{color:#ff4d4f}.delete-confirm-modal .ant-alert-error .ant-alert-message{color:#ff4d4f;font-weight:500}.delete-confirm-modal .ant-alert-error .ant-alert-description{color:#595959}.delete-confirm-modal .backup-info{margin:16px 0;padding:16px;background-color:#fafafa;border-radius:6px;border:1px solid #f0f0f0}.delete-confirm-modal .backup-details{margin-top:12px}.delete-confirm-modal .detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0}.delete-confirm-modal .detail-item:last-child{border-bottom:none}.delete-confirm-modal .detail-item .ant-typography{margin:0}.delete-confirm-modal .ant-form{margin-top:16px}.delete-confirm-modal .ant-form-item{margin-bottom:20px}.delete-confirm-modal .ant-form-item-label{padding-bottom:8px}.delete-confirm-modal .ant-form-item-label>label{font-weight:500;color:#262626}.delete-confirm-modal .ant-form-item-required:before{color:#ff4d4f}.delete-confirm-modal .ant-input{border-radius:6px;font-weight:500}.delete-confirm-modal .ant-input:focus,.delete-confirm-modal .ant-input-focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33}.delete-confirm-modal .ant-input::placeholder{color:#bfbfbf}.delete-confirm-modal .ant-modal-header{border-bottom:1px solid #f0f0f0;padding:16px 24px}.delete-confirm-modal .ant-modal-title{font-size:16px;font-weight:600;color:#262626}.delete-confirm-modal .ant-modal-body{padding:24px}.delete-confirm-modal .ant-modal-footer{border-top:1px solid #f0f0f0;padding:16px 24px}.delete-confirm-modal .ant-modal-footer .ant-btn{border-radius:6px;font-weight:500;height:36px;padding:0 16px}.delete-confirm-modal .ant-modal-footer .ant-btn-primary{background-color:#ff4d4f;border-color:#ff4d4f}.delete-confirm-modal .ant-modal-footer .ant-btn-primary:hover{background-color:#ff7875;border-color:#ff7875}.delete-confirm-modal .ant-modal-footer .ant-btn-primary:focus{background-color:#ff4d4f;border-color:#ff4d4f;box-shadow:0 0 0 2px #ff4d4f33}.delete-confirm-modal .ant-modal-footer .ant-btn-default{border-color:#d9d9d9;color:#595959}.delete-confirm-modal .ant-modal-footer .ant-btn-default:hover{border-color:#40a9ff;color:#40a9ff}.delete-confirm-modal .ant-space{gap:8px}.delete-confirm-modal .ant-space-item{display:flex;align-items:center}.delete-confirm-modal .anticon{font-size:16px}.delete-confirm-modal .ant-form-item-explain{margin-top:4px;font-size:12px}.delete-confirm-modal .ant-form-item-explain-error{color:#ff4d4f}.delete-confirm-modal .ant-form-item-explain-success{color:#52c41a}.delete-confirm-modal .ant-form-item-explain-warning{color:#faad14}.delete-confirm-modal .ant-form-item-explain-info{color:#1890ff}.delete-confirm-modal .ant-typography{line-height:1.5}.delete-confirm-modal .ant-typography.ant-typography-strong{font-weight:600;color:#262626}.delete-confirm-modal .ant-typography.ant-typography-secondary{color:#8c8c8c}.delete-confirm-modal .ant-form-item-has-error .ant-input{border-color:#ff4d4f}.delete-confirm-modal .ant-form-item-has-error .ant-input:focus,.delete-confirm-modal .ant-form-item-has-error .ant-input-focused{border-color:#ff4d4f;box-shadow:0 0 0 2px #ff4d4f33}.delete-confirm-modal .ant-form-item-has-error .ant-input:hover{border-color:#ff7875}.delete-confirm-modal .ant-form-item-has-error .ant-form-item-explain,.delete-confirm-modal .ant-form-item-has-error .ant-form-item-split{color:#ff4d4f}.delete-confirm-modal .ant-form-item-has-error .ant-form-item-label>label{color:#ff4d4f}.delete-confirm-modal .ant-form-item-has-error .ant-form-item-label>label:before{color:#ff4d4f}.delete-confirm-modal .ant-form-item-has-error .ant-form-item-label>label:after{color:#ff4d4f}.delete-confirm-modal .ant-form-item-has-error .ant-form-item-label>label .ant-form-item-required{color:#ff4d4f}.delete-confirm-modal .ant-form-item-has-error .ant-form-item-label>label .ant-form-item-required:before{color:#ff4d4f}.delete-confirm-modal .ant-form-item-has-error .ant-form-item-label>label .ant-form-item-required:after{color:#ff4d4f}.setup-wizard-modal{padding:16px 0}.setup-wizard-modal .ant-alert{margin-bottom:16px;border-radius:6px}.setup-wizard-modal .ant-alert-info{background-color:#e6f7ff;border-color:#91d5ff;color:#1890ff}.setup-wizard-modal .ant-alert-info .ant-alert-icon{color:#1890ff}.setup-wizard-modal .ant-alert-info .ant-alert-message{color:#1890ff;font-weight:500}.setup-wizard-modal .ant-alert-info .ant-alert-description{color:#595959}.setup-wizard-modal .ant-alert-success{background-color:#f6ffed;border-color:#b7eb8f;color:#52c41a}.setup-wizard-modal .ant-alert-success .ant-alert-icon{color:#52c41a}.setup-wizard-modal .ant-alert-success .ant-alert-message{color:#52c41a;font-weight:500}.setup-wizard-modal .ant-alert-success .ant-alert-description{color:#595959}.setup-wizard-modal .ant-alert-warning{background-color:#fffbe6;border-color:#ffe58f;color:#faad14}.setup-wizard-modal .ant-alert-warning .ant-alert-icon{color:#faad14}.setup-wizard-modal .ant-alert-warning .ant-alert-message{color:#faad14;font-weight:500}.setup-wizard-modal .ant-alert-warning .ant-alert-description{color:#595959}.setup-wizard-modal .ant-steps{margin-bottom:24px}.setup-wizard-modal .ant-steps-item-title{font-weight:500}.setup-wizard-modal .ant-steps-item-process .ant-steps-item-title{color:#1890ff;font-weight:600}.setup-wizard-modal .ant-steps-item-finish .ant-steps-item-title{color:#52c41a}.setup-wizard-modal .step-content{margin-bottom:24px}.setup-wizard-modal .step-header{display:flex;align-items:center;margin-bottom:24px;padding:16px;background-color:#fafafa;border-radius:6px;border:1px solid #f0f0f0}.setup-wizard-modal .step-icon{font-size:24px;color:#1890ff;margin-right:16px}.setup-wizard-modal .step-info h3{margin:0 0 4px;font-size:18px;font-weight:600;color:#262626}.setup-wizard-modal .step-info p{margin:0;color:#8c8c8c;font-size:14px}.setup-wizard-modal .ant-form{margin-top:16px}.setup-wizard-modal .ant-form-item{margin-bottom:20px}.setup-wizard-modal .ant-form-item-label{padding-bottom:8px}.setup-wizard-modal .ant-form-item-label>label{font-weight:500;color:#262626}.setup-wizard-modal .ant-form-item-required:before{color:#ff4d4f}.setup-wizard-modal .ant-input{border-radius:6px;font-weight:500}.setup-wizard-modal .ant-input:focus,.setup-wizard-modal .ant-input-focused{border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33}.setup-wizard-modal .ant-input-password,.setup-wizard-modal .ant-input-password .ant-input,.setup-wizard-modal .ant-select{border-radius:6px}.setup-wizard-modal .ant-select-selector{border-radius:6px!important}.setup-wizard-modal .ant-select-selection-item{font-weight:500}.setup-wizard-modal .ant-radio-group{width:100%}.setup-wizard-modal .ant-radio-wrapper{font-weight:500;color:#262626;margin-bottom:8px}.setup-wizard-modal .ant-radio-checked .ant-radio-inner{background-color:#1890ff;border-color:#1890ff}.setup-wizard-modal .ant-radio-checked .ant-radio-inner:after{border-color:#fff}.setup-wizard-modal .wizard-footer{display:flex;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0}.setup-wizard-modal .wizard-footer .ant-space{gap:8px}.setup-wizard-modal .ant-btn{border-radius:6px;font-weight:500;height:36px;padding:0 16px}.setup-wizard-modal .ant-btn-primary{background-color:#1890ff;border-color:#1890ff}.setup-wizard-modal .ant-btn-primary:hover{background-color:#40a9ff;border-color:#40a9ff}.setup-wizard-modal .ant-btn-default{border-color:#d9d9d9;color:#595959}.setup-wizard-modal .ant-btn-default:hover{border-color:#40a9ff;color:#40a9ff}.setup-wizard-modal .ant-modal-header{border-bottom:1px solid #f0f0f0;padding:16px 24px}.setup-wizard-modal .ant-modal-title{font-size:16px;font-weight:600;color:#262626}.setup-wizard-modal .ant-modal-body{padding:24px}.setup-wizard-modal .ant-space{gap:8px}.setup-wizard-modal .ant-space-item{display:flex;align-items:center}.setup-wizard-modal .anticon{font-size:16px}.setup-wizard-modal .ant-form-item-explain{margin-top:4px;font-size:12px}.setup-wizard-modal .ant-form-item-explain-error{color:#ff4d4f}.setup-wizard-modal .ant-form-item-explain-success{color:#52c41a}.setup-wizard-modal .ant-form-item-explain-warning{color:#faad14}.setup-wizard-modal .ant-form-item-explain-info{color:#1890ff}.setup-wizard-modal .ant-select-dropdown{border-radius:6px;box-shadow:0 4px 12px #00000026}.setup-wizard-modal .ant-select-item{padding:8px 12px;border-radius:4px}.setup-wizard-modal .ant-select-item-option-selected{background-color:#e6f7ff;color:#1890ff}.setup-wizard-modal .ant-select-item-option-active{background-color:#f5f5f5}.setup-wizard-modal .ant-select-item-option-disabled{color:#bfbfbf}.setup-wizard-modal .ant-select-item-option-disabled:hover{background-color:transparent}.setup-wizard-modal .install-status{margin-bottom:16px}.setup-wizard-modal .install-status .ant-alert{margin-bottom:0}.setup-wizard-modal .install-status .ant-alert-description div{margin-bottom:4px;line-height:1.5}.setup-wizard-modal .install-status .ant-alert-description div:last-child{margin-bottom:0}.setup-wizard-modal .ant-alert ul{margin:0;padding-left:16px}.setup-wizard-modal .ant-alert li{margin-bottom:4px;line-height:1.5}.setup-wizard-modal .ant-alert li:last-child{margin-bottom:0}.setup-wizard-modal .ant-radio-wrapper:hover .ant-radio-inner,.setup-wizard-modal .ant-radio:hover .ant-radio-inner{border-color:#40a9ff}.setup-wizard-modal .ant-radio-checked:hover .ant-radio-inner{background-color:#40a9ff;border-color:#40a9ff}.setup-wizard-modal .ant-radio-disabled .ant-radio-inner{background-color:#f5f5f5;border-color:#d9d9d9}.setup-wizard-modal .ant-radio-disabled+span{color:#bfbfbf}.system-container{display:flex;flex-direction:column;width:100%;height:100vh;background-color:#f9fafb;margin:8px}.system-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;background-color:#fff;border-bottom:1px solid #e9ecef;position:sticky;top:0;z-index:100;height:56px;box-shadow:0 1px 2px #00000008}.header-left,.header-right{display:flex;align-items:center}.header-right .ant-btn.ant-btn-text{color:#555;font-weight:500}.header-right .ant-btn.ant-btn-text:hover{background-color:#0000000d}.header-icon{font-size:22px;color:#1890ff;margin-right:10px}.header-left h1{font-size:18px;color:#333;margin:0;font-weight:600}.tab-menu{display:flex;background-color:#fff;border-bottom:1px solid #e9ecef;padding:0;position:sticky;top:56px;z-index:99;box-shadow:0 1px 1px #00000005}.tab-item{padding:12px 20px;font-size:14px;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;display:flex;align-items:center;color:#000000a6;text-decoration:none}.tab-icon{margin-right:8px;font-size:16px;display:flex;align-items:center;justify-content:center}.tab-item:hover{color:#1890ff}.tab-item.active{border-bottom:3px solid #1890ff;color:#1890ff;font-weight:700;background-color:#1890ff0d}.system-content{padding:0;margin:0;flex:1;overflow-y:auto}.session-timer{user-select:none}.session-timer:hover{transform:translateY(-1px);box-shadow:0 4px 8px #1890ff33!important}.session-timer:active{transform:translateY(0);box-shadow:0 2px 4px #00000014!important}.session-timer-warning:hover{box-shadow:0 4px 8px #ff4d4f40!important}.session-timer:hover .anticon-sync:not(.anticon-spin){animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.organizations-management.management-page{padding:24px;background:#f5f7fa;min-height:100vh}.organizations-management .page-header-card{margin-bottom:16px}.organizations-management .page-header-card .ant-card-body{padding:16px 24px}@media (max-width: 576px){.organizations-management .header-actions{flex-direction:column;gap:8px}.organizations-management .header-actions .ant-btn{width:100%}}@media (max-width: 768px){.organizations-management .stat-row .ant-col{flex:0 0 100%;max-width:100%;margin-bottom:8px}.organizations-management .stat-row .ant-col:last-child{margin-bottom:0}}@media (max-width: 768px){.organizations-management .filter-card .ant-space{width:100%}.organizations-management .filter-card .ant-input,.organizations-management .filter-card .ant-select{width:100%!important;min-width:unset!important}}@media (max-width: 768px){.organizations-management .ant-table-thead>tr>th,.organizations-management .ant-table-tbody>tr>td{padding:8px 12px;font-size:13px}}@media (max-width: 576px){.organizations-management .manager-column .ant-tag{max-width:120px!important;font-size:11px}}.users-management.management-page{padding:24px;background:#f5f7fa;min-height:100vh}.users-management .page-header-card{margin-bottom:16px}.users-management .page-header-card .ant-card-body{padding:16px 24px}@media (max-width: 768px){.users-management .stat-row .ant-col{flex:0 0 100%;max-width:100%;margin-bottom:8px}.users-management .stat-row .ant-col:last-child{margin-bottom:0}}@media (max-width: 576px){.users-management .org-select-card .ant-row{flex-direction:column;gap:12px}.users-management .org-select-card .ant-select{width:100%!important;min-width:unset!important}.users-management .org-select-card .ant-btn{width:100%}}@media (max-width: 768px){.users-management .ant-table-thead>tr>th,.users-management .ant-table-tbody>tr>td{padding:8px 12px;font-size:13px}.users-management .ant-table-thead>tr>th:nth-child(3),.users-management .ant-table-tbody>tr>td:nth-child(3){max-width:150px}}@media (max-width: 576px){.users-management .ant-tag{font-size:11px;padding:0 6px;margin:2px}}.project-manage-container{padding:24px;background:#fff}.project-login-form{margin-bottom:24px}.project-list-container{margin-top:20px}.centered{display:flex;justify-content:center;align-items:center;height:calc(100vh - 200px);text-align:center}.empty-state{flex-direction:column}.service-management.management-page{padding:24px;background:#f5f7fa;min-height:100vh}.service-management .page-header{background:#fff;padding:20px 24px;border-radius:12px;margin-bottom:20px;box-shadow:0 1px 3px #00000014;display:flex;justify-content:space-between;align-items:center}.service-management .page-header-title{display:flex;align-items:flex-start;gap:16px}.service-management .page-header-title>.anticon{margin-top:4px}.service-management .page-header-title h1{margin:0;font-size:22px;font-weight:600;color:#1f2937;line-height:1.3}.service-management .page-header-description{color:#6b7280;margin:4px 0 0;font-size:14px;line-height:1.4}.service-management .page-header-actions{display:flex;align-items:center;gap:12px}.service-management .stats-row{margin-bottom:20px}.service-management .stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014;transition:transform .2s,box-shadow .2s;height:100%}.service-management .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.service-management .stat-card .ant-statistic-title{font-size:13px;color:#6b7280;margin-bottom:8px}.service-management .stat-card .ant-statistic-content{font-size:28px;font-weight:600}.service-management .stat-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.service-management .stat-card-icon.blue{background:#e6f7ff;color:#1890ff}.service-management .stat-card-icon.green{background:#f6ffed;color:#52c41a}.service-management .stat-card-icon.purple{background:#f0f5ff;color:#326ce5}.service-management .main-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.service-management .main-card .ant-card-head{border-bottom:1px solid #f0f0f0;padding:16px 24px;background:#fff}.service-management .main-card .ant-card-head-title{font-size:16px;font-weight:600;color:#1f2937}.service-management .main-card .ant-card-body{padding:24px}.service-management .service-list-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:16px}.service-management .service-list-card .ant-card-head{padding:16px 20px;border-bottom:1px solid #f0f0f0}.service-management .service-list-card .ant-card-body{padding:20px}.service-management .search-bar{margin-bottom:20px}.service-management .search-bar .ant-input-search{border-radius:8px}.service-management .service-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px;margin-bottom:12px;transition:all .2s}.service-management .service-item:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff1a}.service-management .service-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.service-management .service-item-name{font-weight:600;font-size:15px;color:#1f2937}.service-management .service-item-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.service-management .service-item-actions{display:flex;gap:8px}.service-management .service-card{border-radius:12px;border:1px solid #e5e7eb;margin-bottom:12px;transition:all .2s}.service-management .service-card:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff1a}.service-management .repo-card-content{display:flex;align-items:stretch}.service-management .repo-info{flex:0 0 auto;min-width:200px;padding-right:16px;border-right:1px solid #f0f0f0}.service-management .pipeline-view-container{flex:1;min-width:0;padding:0 16px}.service-management .repo-actions{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:8px;padding-left:16px;border-left:1px solid #f0f0f0;min-width:120px}.service-management .repo-actions .action-button{font-size:13px;height:32px;border-radius:6px}.service-management .repo-actions .action-button-member{color:#1890ff;border-color:#91d5ff;background:#e6f7ff}.service-management .repo-actions .action-button-member:hover{color:#40a9ff;border-color:#40a9ff;background:#f0f9ff}.service-management .repo-actions .action-button-delete{color:#ff4d4f;border-color:#ffa39e;background:#fff1f0}.service-management .repo-actions .action-button-delete:hover{color:#ff7875;border-color:#ff7875;background:#fff2f0}.service-management .ant-tag{border-radius:4px;font-size:12px;padding:2px 8px;font-weight:500}.service-management .ant-btn{border-radius:6px;font-weight:500}.service-management .ant-btn-primary{box-shadow:0 2px 4px #1890ff4d}.service-management .ant-modal-content{border-radius:12px;overflow:hidden}.service-management .ant-modal-header{padding:20px 24px;border-bottom:1px solid #f0f0f0}.service-management .ant-modal-title{font-size:16px;font-weight:600;color:#1f2937}.service-management .ant-modal-body{padding:24px}.service-management .ant-modal-footer{padding:16px 24px;border-top:1px solid #f0f0f0}.service-management .pipeline-status{display:flex;align-items:center;gap:8px}.service-management .pipeline-status-dot{width:8px;height:8px;border-radius:50%}.service-management .pipeline-status-dot.running{background:#1890ff;animation:pulse 1.5s infinite}.service-management .pipeline-status-dot.success{background:#52c41a}.service-management .pipeline-status-dot.failed{background:#ff4d4f}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.service-management .ant-empty{padding:60px 20px}.service-management .ant-empty-description{color:#6b7280;font-size:14px}.service-management .ant-pagination{margin-top:16px;text-align:right}@media (max-width: 768px){.service-management.management-page{padding:16px}.service-management .page-header{flex-direction:column;align-items:flex-start;gap:16px}.service-management .page-header-actions{width:100%;justify-content:flex-end}.service-management .stat-card{margin-bottom:12px}.service-management .service-item-header{flex-direction:column}.service-management .service-item-actions{margin-top:12px;width:100%;justify-content:flex-end}}.compact-pipeline-container{width:100%;min-width:500px;height:160px;padding:24px 16px 16px;background:linear-gradient(135deg,#f8f9ff,#fff,#f8f9ff);border-radius:12px;position:relative;box-shadow:inset 0 1px 3px #0000000d,0 2px 8px #0000000f;border:1px solid #e8e8e8;display:flex;align-items:center;overflow:visible}.compact-pipeline-container:before{content:"";position:absolute;top:50%;left:5%;right:5%;height:3px;background:linear-gradient(to right,transparent 0%,#d9d9d9 5%,#e8e8e8 50%,#d9d9d9 95%,transparent 100%);transform:translateY(-50%);z-index:0;opacity:.4;border-radius:2px}.pipeline-flex-row{display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-evenly;align-items:center;position:relative;z-index:1;width:100%;height:100%}.pipeline-stage-col{text-align:center;flex:1;min-width:100px;max-width:110px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%}.pipeline-stage-col:not(:last-child):after{content:"▶";position:absolute;right:-14px;top:50%;transform:translateY(-50%);font-size:16px;color:#bfbfbf;font-weight:700;z-index:1;opacity:.5;transition:all .3s ease}.pipeline-stage-col.active:not(:last-child):after{color:#52c41a;opacity:1;animation:flow-arrow 2s ease-in-out infinite}.pipeline-stage-col:has(.pipeline-stage-item.running):not(:last-child):after{color:#1890ff;opacity:1;animation:flow-arrow 1.5s ease-in-out infinite}@keyframes flow-arrow{0%,to{transform:translateY(-50%) translate(0);opacity:1}50%{transform:translateY(-50%) translate(3px);opacity:.7}}.pipeline-stage-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer;padding:8px 6px;border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;border:2px solid #e8e8e8;position:relative;width:100px;height:100px;aspect-ratio:1 / 1}.pipeline-stage-header{width:100%;text-align:center;margin-bottom:8px}.pipeline-stage-item.running{border-color:#1890ff;box-shadow:0 0 16px #1890ff66;animation:running-pulse 2s ease-in-out infinite}@keyframes running-pulse{0%,to{box-shadow:0 0 16px #1890ff66}50%{box-shadow:0 0 24px #1890ff99}}.pipeline-stage-item.completed{border-color:#52c41a;background:linear-gradient(135deg,#f6ffed,#fff)}.pipeline-stage-item.failed{border-color:#ff4d4f;background:linear-gradient(135deg,#fff2f0,#fff);box-shadow:0 0 12px #ff4d4f33}.pipeline-stage-item.pending,.pipeline-stage-item.inactive{border-color:#d9d9d9;opacity:.6;filter:grayscale(30%)}.pipeline-stage-col:has(.pipeline-stage-item.pending):not(:last-child):after,.pipeline-stage-col:has(.pipeline-stage-item.inactive):not(:last-child):after{color:#d9d9d9!important;opacity:.4!important}.pipeline-stage-item:hover{background-color:#f0f5ff;border-color:#1890ff;transform:translateY(-2px);box-shadow:0 4px 12px #1890ff26}.pipeline-stage-col.active+.pipeline-stage-col .pipeline-stage-item{border-style:solid}.pipeline-stage-col:not(.active):not(:has(.pipeline-stage-item.running)):not(:last-child):after{color:#d9d9d9;opacity:.3}.pipeline-stage-name{font-size:16px;line-height:1.3;white-space:nowrap;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.pipeline-stage-status{font-size:11px;line-height:1.2;font-weight:600}.pipeline-stage-time{font-size:11px;height:18px;min-height:18px;color:#8c8c8c;line-height:18px;text-align:center;font-weight:500;flex-shrink:0;border-top:1px dashed #e8e8e8;padding-top:4px;width:100%}.pipeline-stage-time-placeholder{height:18px;min-height:18px;margin-top:4px;flex-shrink:0}.pipeline-loading-container{display:flex;justify-content:center;align-items:center;height:100%;min-height:100px;color:#888;background:#fafafa;border-radius:8px;padding:20px}.pipeline-stage-disabled{filter:grayscale(40%);opacity:.6}.pipeline-stage-disabled:hover{background-color:#f5f5f5;opacity:.8;border-color:#d9d9d9}.pipeline-stage-item .ant-progress{width:100%;max-width:90px;margin:0 auto}.pipeline-stage-item .ant-progress-inner{background-color:#f0f0f0;border-radius:6px;height:8px!important}.pipeline-stage-item .ant-progress-bg{border-radius:6px;height:8px!important}.pipeline-stage-item .ant-progress-text{font-size:11px!important;font-weight:600!important;margin-left:8px!important}.pipeline-stage-item.running .ant-progress-bg{animation:progress-flow 2s ease-in-out infinite}@keyframes progress-flow{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.pipeline-stage-item .ant-progress{width:100%;max-width:90px}.pipeline-stage-item .ant-tag{margin-top:6px;border-radius:6px;font-size:11px;padding:4px 10px;border:none;box-shadow:0 2px 6px #0000001a;font-weight:600;min-height:24px;display:inline-flex;align-items:center;justify-content:center}.pipeline-stage-item .ant-tag.ant-tag-success{background:linear-gradient(135deg,#52c41a,#73d13d);color:#fff;font-weight:700}.pipeline-stage-item .ant-tag.ant-tag-error{background:linear-gradient(135deg,#ff4d4f,#ff7875);color:#fff;font-weight:700}.pipeline-stage-item .ant-tag.ant-tag-processing{animation:tag-pulse 1.5s ease-in-out infinite;font-weight:700}@keyframes tag-pulse{0%,to{box-shadow:0 2px 8px #1890ff66;transform:scale(1)}50%{box-shadow:0 4px 12px #1890ff99;transform:scale(1.02)}}.pipeline-stage-item .ant-tag.ant-tag-default{background:#f5f5f5!important;color:#8c8c8c!important;border:1.5px dashed #bfbfbf!important;opacity:.85!important;font-weight:600!important}.pipeline-stage-item .ant-tag.ant-tag-default:hover{background:#e8e8e8!important;border-color:#8c8c8c!important;opacity:1!important}.pipeline-stage-item{box-sizing:border-box}.pipeline-stage-item>*{flex-shrink:0}.pipeline-stage-col.locked:before{content:"🔒";position:absolute;top:-12px;right:50%;transform:translate(50%);font-size:14px;z-index:2;opacity:.6}.pipeline-stage-col:before{position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:11px;color:#8c8c8c;font-weight:500;z-index:0}.pipeline-stage-col:nth-child(1):before{content:"Step 1"}.pipeline-stage-col:nth-child(2):before{content:"Step 2"}.pipeline-stage-col:nth-child(3):before{content:"Step 3"}.pipeline-stage-col:nth-child(4):before{content:"Step 4"}@media (max-width: 1200px){.compact-pipeline-container{min-width:100%;height:150px}.pipeline-flex-row{gap:6px}.pipeline-stage-col{min-width:85px;max-width:95px}.pipeline-stage-item{width:85px;height:85px;padding:6px 4px}}@media (max-width: 768px){.compact-pipeline-container{min-width:100%;height:140px;padding:20px 8px 8px}.pipeline-flex-row{gap:4px}.pipeline-stage-col{min-width:70px;max-width:80px}.pipeline-stage-item{width:70px;height:70px;padding:6px 3px}.pipeline-stage-name{font-size:12px!important}.pipeline-stage-status{font-size:9px}.pipeline-stage-col:not(:last-child):after{font-size:12px;right:-6px}.pipeline-stage-col:before{font-size:9px;top:-14px}.pipeline-stage-item .ant-tag{font-size:9px;padding:2px 6px}.pipeline-stage-item .ant-progress{max-width:60px}.pipeline-stage-time{font-size:9px;height:14px;min-height:14px;line-height:14px}}@media (max-width: 480px){.pipeline-stage-col:before{display:none}.compact-pipeline-container{min-width:100%;height:120px;padding:8px 4px}.pipeline-stage-col{min-width:55px;max-width:65px}.pipeline-stage-item{width:55px;height:55px;padding:4px 2px}.pipeline-stage-name{font-size:10px!important}.pipeline-stage-status{font-size:8px}.pipeline-stage-item .ant-tag{font-size:8px;padding:1px 4px}.pipeline-stage-item .ant-progress{max-width:45px}.pipeline-stage-item .ant-progress-text{font-size:8px!important}.pipeline-stage-time{font-size:8px;height:12px;min-height:12px;line-height:12px}}.ssh-hop-container{padding:8px 0}.ssh-hop-card{background:#fafbfc;border:1px solid #e5e7eb;border-radius:10px;padding:16px;position:relative;transition:all .2s ease}.ssh-hop-card:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff1a}.ssh-hop-card.gateway{border-left:3px solid #faad14}.ssh-hop-card.target{border-left:3px solid #1890ff}.ssh-hop-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ssh-hop-header-left{display:flex;align-items:center;gap:12px}.ssh-hop-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;border-radius:50%;font-size:13px;font-weight:600;box-shadow:0 2px 4px #1890ff4d}.ssh-hop-number.gateway{background:linear-gradient(135deg,#faad14,#fa8c16);box-shadow:0 2px 4px #fa8c164d}.ssh-hop-title{display:flex;flex-direction:column;gap:2px}.ssh-hop-title-main{font-weight:600;color:#1f2937;font-size:14px}.ssh-hop-title-sub{font-size:12px;color:#6b7280}.ssh-hop-connector{display:flex;align-items:center;justify-content:center;padding:8px 0;position:relative}.ssh-hop-connector:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#e5e7eb,#1890ff,#e5e7eb)}.ssh-hop-connector-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff;border:2px solid #1890ff;border-radius:50%;color:#1890ff;font-size:14px;z-index:1}.ssh-hop-fields{display:flex;flex-direction:column;gap:12px}.ssh-hop-field-row{display:flex;gap:12px}.ssh-hop-field-row.server-select{margin-bottom:8px}.ssh-hop-field{flex:1}.ssh-hop-field.port{flex:0 0 100px}.ssh-hop-field label{display:block;font-weight:500;color:#374151;font-size:13px;margin-bottom:6px}.ssh-hop-add-btn{width:100%;border-style:dashed;border-color:#1890ff;color:#1890ff;background:#f0f7ff;height:44px;border-radius:8px;font-weight:500;margin-top:8px}.ssh-hop-add-btn:hover{background:#e6f4ff;border-color:#40a9ff;color:#40a9ff}.ssh-connect-btn{margin-top:16px}.ssh-connect-btn .ant-btn{height:48px;font-size:15px;font-weight:500;border-radius:8px;box-shadow:0 2px 8px #1890ff4d}.ssh-connection-status{margin-top:16px;padding:16px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:8px}.ssh-connection-status.error{background:#fff1f0;border-color:#ffa39e}.domain-info-box{background:#f0f7ff;border:1px solid #91caff;border-radius:8px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.domain-info-box.warning{background:#fffbe6;border-color:#ffe58f}.domain-info-box-icon{color:#1890ff;font-size:18px;margin-top:2px}.domain-info-box.warning .domain-info-box-icon{color:#faad14}.domain-info-box-content{flex:1}.domain-info-box-title{font-weight:600;color:#1f2937;margin-bottom:4px}.domain-info-box-description{color:#6b7280;font-size:13px;line-height:1.5}.k8s-service-card{background:#fff;border-radius:8px;overflow:hidden}.domain-section-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:16px}.domain-section-card .ant-card-head{background:#fafbfc;border-bottom:1px solid #f0f0f0;padding:12px 16px}.domain-section-card .ant-card-head-title{font-weight:600;font-size:14px}.domain-section-card .ant-card-body{padding:16px}.domain-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.domain-toolbar-left,.domain-toolbar-right{display:flex;align-items:center;gap:8px}.domain-table .ant-table-thead>tr>th{background:#fafbfc;font-weight:600;font-size:13px;padding:12px 14px}.domain-table .ant-table-tbody>tr>td{font-size:13px;padding:12px 14px}.domain-empty{padding:40px 20px}@media (max-width: 768px){.ssh-hop-field-row{flex-direction:column}.ssh-hop-field.port{flex:1}.domain-toolbar{flex-direction:column;align-items:stretch}.domain-toolbar-left,.domain-toolbar-right{justify-content:flex-start}}.management-page{padding:24px;background:#f5f7fa;min-height:100vh}.management-page .page-header{background:#fff;padding:20px 24px;border-radius:12px;margin-bottom:20px;box-shadow:0 1px 3px #00000014;display:flex;justify-content:space-between;align-items:center}.management-page .page-header-title{display:flex;align-items:flex-start;gap:16px}.management-page .page-header-title>.anticon{margin-top:4px}.management-page .page-header-title h1{margin:0;font-size:22px;font-weight:600;color:#1f2937;line-height:1.3}.management-page .page-header-description{color:#6b7280;margin:4px 0 0;font-size:14px;line-height:1.4}.management-page .page-header-actions{display:flex;align-items:center;gap:12px}.management-page .stats-row{margin-bottom:20px}.management-page .stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014;transition:transform .2s,box-shadow .2s;height:100%}.management-page .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.management-page .stat-card .ant-statistic-title{font-size:13px;color:#6b7280;margin-bottom:8px}.management-page .stat-card .ant-statistic-content{font-size:28px;font-weight:600}.management-page .stat-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.management-page .stat-card-icon.blue{background:#e6f7ff;color:#1890ff}.management-page .stat-card-icon.green{background:#f6ffed;color:#52c41a}.management-page .stat-card-icon.purple{background:#f9f0ff;color:#722ed1}.management-page .stat-card-icon.orange{background:#fff7e6;color:#fa8c16}.management-page .stat-card-icon.red{background:#fff1f0;color:#ff4d4f}.management-page .stat-card-icon.cyan{background:#e6fffb;color:#13c2c2}.management-page .main-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.management-page .ant-tabs{background:transparent}.management-page .ant-tabs-nav{margin-bottom:0;padding:0 24px;background:#fff}.management-page .ant-tabs-nav:before{border-bottom:1px solid #f0f0f0}.management-page .ant-tabs-tab{padding:16px 20px;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s}.management-page .ant-tabs-tab:hover,.management-page .ant-tabs-tab.ant-tabs-tab-active{color:#1890ff}.management-page .ant-tabs-tab .anticon{margin-right:8px}.management-page .ant-tabs-ink-bar{height:3px;border-radius:3px 3px 0 0}.management-page .ant-tabs-content{padding:24px}.management-page .tab-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.management-page .tab-toolbar-left,.management-page .tab-toolbar-right{display:flex;align-items:center;gap:12px}.management-page .info-box{background:#f0f7ff;border:1px solid #91caff;border-radius:8px;padding:12px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.management-page .info-box.warning{background:#fffbe6;border-color:#ffe58f}.management-page .info-box.success{background:#f6ffed;border-color:#b7eb8f}.management-page .info-box.error{background:#fff1f0;border-color:#ffa39e}.management-page .info-box-icon{color:#1890ff;font-size:18px;margin-top:2px}.management-page .info-box.warning .info-box-icon{color:#faad14}.management-page .info-box.success .info-box-icon{color:#52c41a}.management-page .info-box.error .info-box-icon{color:#ff4d4f}.management-page .info-box-content{flex:1}.management-page .info-box-title{font-weight:600;color:#1f2937;margin-bottom:4px}.management-page .info-box-description{color:#6b7280;font-size:13px}.management-page .ant-table{border-radius:8px;overflow:hidden}.management-page .ant-table-thead>tr>th{background:#fafbfc;font-weight:600;font-size:13px;color:#374151;padding:14px 16px;border-bottom:1px solid #e5e7eb}.management-page .ant-table-tbody>tr>td{padding:14px 16px;font-size:13px;border-bottom:1px solid #f0f0f0}.management-page .ant-table-tbody>tr:hover>td{background:#f9fafb}.management-page .ant-table-tbody>tr:last-child>td{border-bottom:none}.management-page .ant-btn{border-radius:6px;font-weight:500;height:36px;padding:0 16px}.management-page .ant-btn-primary{box-shadow:0 2px 4px #1890ff4d}.management-page .ant-btn-sm{height:28px;padding:0 10px;font-size:12px}.management-page .ant-tag{border-radius:4px;font-size:12px;padding:2px 8px}.management-page .ant-alert{border-radius:8px;margin-bottom:16px}.management-page .ant-alert-info{background:#f0f7ff;border-color:#91caff}.management-page .ant-alert-warning{background:#fffbe6;border-color:#ffe58f}.management-page .ant-alert-success{background:#f6ffed;border-color:#b7eb8f}.management-page .ant-alert-error{background:#fff1f0;border-color:#ffa39e}.management-page .section-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px}.management-page .section-card .ant-card-head{border-bottom:1px solid #f0f0f0;padding:16px 24px}.management-page .section-card .ant-card-head-title{font-size:15px;font-weight:600;color:#1f2937}.management-page .section-card .ant-card-body{padding:20px 24px}.management-page .ant-empty{padding:60px 20px}.management-page .ant-empty-description{color:#6b7280;font-size:14px}.management-page .empty-action{margin-top:16px}.management-page .ant-form-item-label>label{font-weight:500;color:#374151}.management-page .ant-input,.management-page .ant-input-number,.management-page .ant-select-selector{border-radius:6px!important}.management-page .ant-input:focus,.management-page .ant-input-number:focus,.management-page .ant-select-selector:focus{box-shadow:0 0 0 2px #1890ff33}.management-page .ssh-hop-card{background:#fafbfc;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:12px;position:relative}.management-page .ssh-hop-card .hop-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.management-page .ssh-hop-card .hop-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#1890ff;color:#fff;border-radius:50%;font-size:12px;font-weight:600;margin-right:8px}.management-page .ssh-hop-card .hop-title{font-weight:600;color:#374151}.management-page .ssh-hop-card .hop-subtitle{color:#6b7280;font-size:12px}.management-page .ssh-hop-connector{display:flex;align-items:center;justify-content:center;padding:8px 0;color:#8c8c8c}.management-page .ssh-hop-connector:before,.management-page .ssh-hop-connector:after{content:"";flex:1;height:1px;background:#e5e7eb}.management-page .ssh-hop-connector .anticon{margin:0 12px;font-size:16px}.management-page .add-hop-button{width:100%;border-style:dashed;color:#1890ff;background:#f0f7ff}.management-page .add-hop-button:hover{border-color:#1890ff;background:#e6f4ff}.management-page .ant-modal-content{border-radius:12px;overflow:hidden}.management-page .ant-modal-header{padding:20px 24px;border-bottom:1px solid #f0f0f0}.management-page .ant-modal-title{font-size:16px;font-weight:600}.management-page .ant-modal-body{padding:24px}.management-page .ant-modal-footer{padding:16px 24px;border-top:1px solid #f0f0f0}.management-page .ant-collapse{border-radius:8px;overflow:hidden;background:#fff}.management-page .ant-collapse-header{font-weight:500;padding:16px 20px!important}.management-page .ant-collapse-content-box{padding:20px!important}.management-page .ant-badge{margin-left:8px}.management-page .ant-badge-count{font-size:11px;font-weight:600;min-width:18px;height:18px;line-height:18px;border-radius:9px}.management-page .ant-divider{margin:16px 0}.management-page .connection-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.management-page .connection-status.connected{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.management-page .connection-status.failed{background:#fff1f0;color:#ff4d4f;border:1px solid #ffa39e}.management-page .connection-status.unknown{background:#f5f5f5;color:#8c8c8c;border:1px solid #d9d9d9}.management-page .connection-status.testing{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}@media (max-width: 768px){.management-page{padding:16px}.management-page .page-header{flex-direction:column;align-items:flex-start;gap:16px}.management-page .page-header-actions{width:100%;justify-content:flex-end}.management-page .tab-toolbar{flex-direction:column;align-items:stretch}.management-page .tab-toolbar-left,.management-page .tab-toolbar-right{justify-content:flex-start}.management-page .ant-tabs-tab{padding:12px;font-size:13px}.management-page .stat-card{margin-bottom:12px}}.database-management.management-page{padding:24px;background:#f5f7fa;min-height:100vh}.database-management .page-header{background:#fff;padding:20px 24px;border-radius:12px;margin-bottom:20px;box-shadow:0 1px 3px #00000014;display:flex;justify-content:space-between;align-items:center}.database-management .page-header-title{display:flex;align-items:flex-start;gap:16px}.database-management .page-header-title>.anticon{margin-top:4px}.database-management .page-header-title h1{margin:0;font-size:22px;font-weight:600;color:#1f2937;line-height:1.3}.database-management .page-header-description{color:#6b7280;margin:4px 0 0;font-size:14px;line-height:1.4}.database-management .stats-row{margin-bottom:20px}.database-management .stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014;transition:transform .2s,box-shadow .2s;height:100%}.database-management .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.database-management .stat-card .ant-statistic-title{font-size:13px;color:#6b7280;margin-bottom:8px}.database-management .stat-card .ant-statistic-content{font-size:28px;font-weight:600}.database-management .stat-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.database-management .stat-card-icon.blue{background:#e6f7ff;color:#1890ff}.database-management .stat-card-icon.green{background:#f6ffed;color:#52c41a}.database-management .stat-card-icon.purple{background:#f9f0ff;color:#722ed1}.database-management .stat-card-icon.orange{background:#fff7e6;color:#fa8c16}.database-management .main-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.database-management .ant-tabs{background:transparent}.database-management .ant-tabs-nav{margin-bottom:0;padding:0 24px;background:#fff}.database-management .ant-tabs-nav:before{border-bottom:1px solid #f0f0f0}.database-management .ant-tabs-tab{padding:16px 20px;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s}.database-management .ant-tabs-tab:hover,.database-management .ant-tabs-tab.ant-tabs-tab-active{color:#1890ff}.database-management .ant-tabs-tab .anticon{margin-right:8px}.database-management .ant-tabs-ink-bar{height:3px;border-radius:3px 3px 0 0}.database-management .ant-tabs-content{padding:24px}.database-management .tab-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.database-management .tab-toolbar-left,.database-management .tab-toolbar-right{display:flex;align-items:center;gap:12px}.database-management .ant-table{border-radius:8px;overflow:hidden}.database-management .ant-table-thead>tr>th{background:#fafbfc;font-weight:600;font-size:13px;color:#374151;padding:14px 16px;border-bottom:1px solid #e5e7eb}.database-management .ant-table-tbody>tr>td{padding:14px 16px;font-size:13px;border-bottom:1px solid #f0f0f0}.database-management .ant-table-tbody>tr:hover>td{background:#f9fafb}.database-management .ant-table-tbody>tr:last-child>td{border-bottom:none}.database-management .table-actions{display:flex;gap:4px}.database-management .table-actions .ant-btn{padding:4px 8px;height:auto}.database-management .connection-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.database-management .connection-status.connected{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.database-management .connection-status.failed{background:#fff1f0;color:#ff4d4f;border:1px solid #ffa39e}.database-management .connection-status.unknown{background:#f5f5f5;color:#8c8c8c;border:1px solid #d9d9d9}.database-management .connection-status.testing{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.database-management .ant-tag{border-radius:4px;font-size:12px;padding:2px 8px}.database-management .ant-alert{border-radius:8px;margin-bottom:16px}.database-management .ant-alert-info{background:#f0f7ff;border-color:#91caff}.database-management .ant-alert-warning{background:#fffbe6;border-color:#ffe58f}.database-management .section-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:20px}.database-management .section-card .ant-card-head{border-bottom:1px solid #f0f0f0;padding:16px 24px}.database-management .section-card .ant-card-head-title{font-size:15px;font-weight:600;color:#1f2937}.database-management .section-card .ant-card-body{padding:20px 24px}.database-management .ant-empty{padding:60px 20px}.database-management .ant-empty-description{color:#6b7280;font-size:14px}.database-management .empty-action{margin-top:16px}.database-management .ant-form-item-label>label{font-weight:500;color:#374151}.database-management .ant-input,.database-management .ant-input-number,.database-management .ant-select-selector{border-radius:6px!important}.database-management .ant-input:focus,.database-management .ant-input-number:focus,.database-management .ant-select-selector:focus{box-shadow:0 0 0 2px #1890ff33}.database-management .ant-btn{border-radius:6px;font-weight:500;height:36px;padding:0 16px}.database-management .ant-btn-primary{box-shadow:0 2px 4px #1890ff4d}.database-management .ant-btn-sm{height:28px;padding:0 10px;font-size:12px}.database-management .ant-modal-content{border-radius:12px;overflow:hidden}.database-management .ant-modal-header{padding:20px 24px;border-bottom:1px solid #f0f0f0}.database-management .ant-modal-title{font-size:16px;font-weight:600}.database-management .ant-modal-body{padding:24px}.database-management .ant-modal-footer{padding:16px 24px;border-top:1px solid #f0f0f0}.database-management .migration-form{background:#fafbfc;border-radius:8px;padding:20px;margin-bottom:20px}.database-management .migration-arrow{display:flex;align-items:center;justify-content:center;font-size:20px;color:#8c8c8c;padding-top:30px}.database-management .compare-result-card{border-radius:10px;overflow:hidden}.database-management .compare-result-card .ant-card-head{background:#fafbfc}.database-management .diff-section{background:#f9fafb;border-radius:8px;padding:16px;margin-bottom:12px}.database-management .diff-section-title{font-weight:600;color:#374151;margin-bottom:12px;display:flex;align-items:center;gap:8px}.database-management .execution-log{max-height:400px;overflow-y:auto;background:#1f2937;border-radius:8px;padding:16px}.database-management .log-entry{padding:8px 12px;margin-bottom:6px;border-radius:4px;font-family:SF Mono,Consolas,Monaco,monospace;font-size:12px}.database-management .log-entry.info{background:#1890ff1a;border-left:3px solid #1890ff}.database-management .log-entry.warn{background:#faad141a;border-left:3px solid #faad14}.database-management .log-entry.error{background:#ff4d4f1a;border-left:3px solid #ff4d4f}.database-management .log-timestamp{color:#8c8c8c;font-size:11px;margin-bottom:4px}.database-management .log-message{color:#e5e7eb}.database-management .log-sql{margin-top:8px;padding:8px 12px;background:#111827;border-radius:4px;color:#d4d4d4;font-size:11px;white-space:pre-wrap;word-break:break-all}.database-management .backup-stat-card{text-align:center;padding:20px}.database-management .backup-stat-card .ant-statistic-title{font-size:13px}.database-management .backup-stat-card .ant-statistic-content{font-size:24px}.database-management .ant-table-expanded-row>td{padding:0!important;background:#f9fafb}.database-management .expanded-content{padding:20px 24px}.database-management .sync-progress{background:#f0f7ff;border:1px solid #91caff;border-radius:8px;padding:16px;margin-bottom:20px}.database-management .sync-progress-title{display:flex;align-items:center;gap:8px;font-weight:600;color:#1890ff;margin-bottom:12px}@media (max-width: 768px){.database-management{padding:16px}.database-management .tab-toolbar{flex-direction:column;align-items:stretch}.database-management .ant-tabs-tab{padding:12px;font-size:13px}.database-management .stat-card{margin-bottom:12px}}.database-management .ant-badge{margin-left:8px}.database-management .ant-badge-count{font-size:11px;font-weight:600;min-width:18px;height:18px;line-height:18px;border-radius:9px}.database-management .ant-divider{margin:16px 0}.database-management .ant-collapse{border-radius:8px;overflow:hidden}.database-management .ant-collapse-header{font-weight:500}.database-management .db-select .ant-select-selection-item{display:flex;align-items:center;gap:8px}.database-management .action-group{display:flex;gap:8px;flex-wrap:wrap}.database-management .info-box{background:#f0f7ff;border:1px solid #91caff;border-radius:8px;padding:12px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.database-management .info-box-icon{color:#1890ff;font-size:18px;margin-top:2px}.database-management .info-box-content{flex:1}.database-management .info-box-title{font-weight:600;color:#1f2937;margin-bottom:4px}.database-management .info-box-description{color:#6b7280;font-size:13px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.pod-pending-row{background-color:#fffbe6!important}.pod-pending-row:hover{background-color:#fff9e6!important}.pod-pending-row td{border-bottom:1px solid #ffe58f!important}.ant-table-expanded-row>td{padding:0!important}.ant-table-expand-icon-col{width:60px!important}
