.build-detail { min-height: 100vh; background: #f5f5f5; padding: 24px; &.loading-wrap { display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 300px; .loading-text { margin-top: 16px; font-size: 28px; color: #999; } } } .status-card { background: #fff; border-radius: 16px; padding: 24px; margin-bottom: 24px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); .status-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; .build-no { font-size: 36px; font-weight: 600; color: #333; } } .status-info { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 24px; .info-item { .label { display: block; font-size: 24px; color: #999; margin-bottom: 4px; } .value { font-size: 28px; color: #333; &.commit { font-family: monospace; color: #2196F3; } } } } .commit-message { display: flex; align-items: flex-start; gap: 12px; padding: 16px; background: #f5f5f5; border-radius: 8px; margin-bottom: 16px; .iconfont { color: #2196F3; flex-shrink: 0; } .msg { flex: 1; font-size: 26px; color: #666; line-height: 1.5; } } .meta { display: flex; justify-content: space-between; font-size: 24px; color: #999; } } .actions { display: flex; gap: 16px; margin-bottom: 24px; .at-button { flex: 1; } } .tabs { display: flex; background: #fff; border-radius: 16px; overflow: hidden; margin-bottom: 24px; .tab { flex: 1; text-align: center; padding: 24px; font-size: 28px; color: #666; position: relative; &.active { color: #1890ff; font-weight: 500; &::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 60px; height: 4px; background: #1890ff; border-radius: 2px; } } } } .tab-content { height: calc(100vh - 600px); } .info-panel { .info-section { background: #fff; border-radius: 16px; padding: 24px; margin-bottom: 24px; .section-title { display: block; font-size: 30px; font-weight: 600; color: #333; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #eee; } .info-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; .row-label { font-size: 26px; color: #666; } .row-value { font-size: 26px; color: #333; &.commit { font-family: monospace; color: #2196F3; max-width: 400px; overflow: hidden; text-overflow: ellipsis; } } } } } .logs-panel { background: #1e1e1e; border-radius: 16px; padding: 24px; min-height: 500px; .logs-content { .log-line { display: block; font-family: 'Courier New', monospace; font-size: 22px; color: #d4d4d4; line-height: 1.8; word-break: break-all; } } .loading-logs { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 300px; color: #d4d4d4; font-size: 26px; gap: 16px; } } .artifacts-panel { .artifact-item { display: flex; justify-content: space-between; align-items: center; background: #fff; border-radius: 16px; padding: 24px; margin-bottom: 16px; .artifact-info { flex: 1; .artifact-name { display: block; font-size: 28px; color: #333; margin-bottom: 8px; } .artifact-size { font-size: 24px; color: #999; } } } .empty-artifacts { display: flex; flex-direction: column; align-items: center; padding: 100px 0; color: #999; .iconfont { font-size: 96px; margin-bottom: 24px; } text { font-size: 28px; } } }