/* Cockpit 风格样式 - 无内联样式 */ body.pf-m-redhat-font { background-color: #f5f5f5; margin: 0; padding: 0; font-family: 'RedHatText', 'Overpass', 'Segoe UI', Helvetica, Arial, sans-serif; } .cockpit-service-page { padding: 24px 30px; max-width: 1200px; } /* 卡片样式 */ .pf-c-card { background: #ffffff; border: 1px solid #e6e9ed; border-radius: 3px; box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05); margin-bottom: 25px; } .pf-c-card__header { padding: 15px 20px; border-bottom: 1px solid #e6e9ed; background-color: #fafbfc; font-weight: 600; font-size: 16px; display: flex; align-items: center; } .pf-c-card__header i { margin-right: 10px; color: #0066cc; } .pf-c-card__body { padding: 20px; } /* 状态面板 */ .status-panel { background: #fafbfc; border-left: 4px solid #73bcf7; padding: 12px 16px; display: flex; align-items: center; gap: 12px; font-size: 14px; margin-bottom: 20px; border-radius: 2px; } .status-icon { font-size: 18px; } .status-text { font-weight: 500; color: #151515; } /* Cockpit 风格开关 */ .cockpit-switch { position: relative; display: inline-block; width: 48px; height: 26px; } .cockpit-switch input { opacity: 0; width: 0; height: 0; } .cockpit-switch .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #b8bbbf; transition: 0.2s; border-radius: 34px; } .cockpit-switch .slider:before { position: absolute; content: ""; height: 20px; width: 20px; left: 3px; bottom: 3px; background-color: white; transition: 0.2s; border-radius: 50%; } .cockpit-switch input:checked + .slider { background-color: #0066cc; } .cockpit-switch input:focus + .slider { box-shadow: 0 0 1px #0066cc; } .cockpit-switch input:checked + .slider:before { transform: translateX(22px); } /* 设置行 */ .setting-row { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid #eaeef2; margin-bottom: 16px; } .setting-label label { font-weight: 600; color: #151515; font-size: 14px; margin-bottom: 4px; display: block; } .setting-description { font-size: 12px; color: #72767b; margin-top: 2px; } .setting-control { flex-shrink: 0; } /* 操作按钮组 */ .action-bar { display: flex; gap: 12px; flex-wrap: wrap; margin: 16px 0; } .pf-c-button { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; font-size: 13px; font-weight: 500; border-radius: 3px; cursor: pointer; border: 1px solid transparent; transition: all 0.15s; background: none; } .pf-c-button i { font-size: 13px; } .pf-c-button.pf-m-primary { background-color: #0066cc; color: white; border-color: #0066cc; } .pf-c-button.pf-m-primary:hover { background-color: #005cbb; border-color: #005cbb; } .pf-c-button.pf-m-secondary { background-color: #ffffff; color: #0066cc; border-color: #b8bbbf; } .pf-c-button.pf-m-secondary:hover { background-color: #f5f5f5; border-color: #0066cc; } /* 分隔线 */ .separator { height: 1px; background: #eaeef2; margin: 20px 0 16px 0; } /* 单独测试区域 */ .testing-section { margin: 8px 0 16px 0; } .testing-title { font-size: 13px; font-weight: 600; color: #72767b; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; } .testing-title i { color: #6ca100; } /* 输出区域 */ .output-section { margin-top: 20px; } .output-label { font-size: 13px; font-weight: 600; color: #4d5258; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; } .log-box { background: #1e1e1e; color: #d4d4d4; padding: 14px; border-radius: 4px; font-family: 'Menlo', 'Monaco', 'Consolas', monospace; font-size: 12px; height: 280px; overflow-y: auto; white-space: pre-wrap; word-break: break-all; border: 1px solid #3c3f41; } /* 状态颜色变化 */ .status-panel.status-success { border-left-color: #3f9c35; } .status-panel.status-danger { border-left-color: #c00; } .status-panel.status-warning { border-left-color: #ec7a08; }