.control-button::after { border: 0; } .control-grid { display: flex; flex-wrap: wrap; gap: 14rpx; padding: 0 20rpx 22rpx; } .control-cell { width: calc((100% - 14rpx) / 2); box-sizing: border-box; } .control-cell--power { width: 100%; } .control-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 86rpx; margin: 0; padding: 0 20rpx; border: 1rpx solid #d8e2ea; border-radius: 14rpx; background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%); color: #1f2937; font-size: 26rpx; line-height: 1.3; font-weight: 800; box-shadow: 0 10rpx 22rpx rgba(15, 23, 42, 0.05); box-sizing: border-box; } .control-button:active { opacity: 0.72; } .control-name { min-width: 0; flex: 1; color: #111827; text-align: center; word-break: break-all; } button[disabled].control-button { background: #eef1f5; color: #94a3b8; box-shadow: none; } .status-summary-panel .panel-header { padding-bottom: 16rpx; } .status-summary-body { padding: 0 24rpx 22rpx; } .status-summary-top, .status-summary-line { display: flex; align-items: center; gap: 14rpx; } .status-summary-top { padding-top: 2rpx; margin-bottom: 12rpx; } .status-summary-box { flex: 1; min-width: 0; min-height: 88rpx; padding: 14rpx 16rpx 16rpx; border: 1rpx solid #e6ebf2; border-radius: 14rpx; background: #f9fbfd; box-sizing: border-box; overflow: hidden; } .status-summary-box-label { color: #64748b; font-size: 22rpx; line-height: 1.2; font-weight: 700; white-space: nowrap; } .status-summary-box-value { min-width: 0; margin-top: 6rpx; color: #111827; font-size: 27rpx; line-height: 1.35; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .status-summary-box--fault.is-warning { border-color: rgba(194, 65, 12, 0.22); background: #fff7ed; } .status-summary-box--fault.is-warning .status-summary-box-value { color: var(--danger); } .status-summary-line--metrics { justify-content: space-between; gap: 8rpx; padding: 14rpx 0 0; border-top: 1rpx solid #edf2f7; } .status-metric { flex: none; width: 160rpx; min-width: 160rpx; color: #111827; font-family: Menlo, Monaco, Consolas, monospace; font-size: 27rpx; line-height: 1.35; font-weight: 800; text-align: center; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; box-sizing: border-box; } .theme-dark .status-summary-box { border-color: #263241; background: #17202c; } .theme-dark .status-summary-box-label { color: #94a3b8; } .theme-dark .status-summary-box-value, .theme-dark .status-metric { color: #e5e7eb; } .theme-dark .status-summary-box--fault.is-warning { border-color: #7c2d12; background: #33150f; } .theme-dark .status-summary-box--fault.is-warning .status-summary-box-value { color: #fed7aa; } .theme-dark .status-summary-line--metrics { border-color: #263241; } .upgrade-actions { flex-wrap: wrap; justify-content: flex-end; max-width: 286rpx; row-gap: 8rpx; } .upgrade-body { padding: 8rpx 24rpx 24rpx; } .upgrade-row { display: flex; align-items: center; justify-content: space-between; gap: 20rpx; min-height: 62rpx; border-top: 1rpx solid #edf2f7; } .upgrade-row:first-child { border-top: 0; } .upgrade-row--file { display: block; min-height: 0; padding-top: 14rpx; padding-bottom: 14rpx; } .upgrade-file-head { display: flex; align-items: center; justify-content: space-between; gap: 14rpx; } .upgrade-file-meta { display: flex; align-items: center; justify-content: flex-end; gap: 10rpx; min-width: 0; flex: 1; overflow: hidden; } .upgrade-file-meta-item { flex: none; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .upgrade-file-meta-item--program { color: var(--accent-dark); font-weight: 800; } .upgrade-file-meta-item--checksum, .upgrade-file-meta-item--size { color: #64748b; } .upgrade-file-name { display: block; margin-top: 8rpx; color: #111827; font-size: 24rpx; line-height: 1.35; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .upgrade-label { flex: none; color: #64748b; font-size: 24rpx; line-height: 1.35; } .upgrade-value { min-width: 0; flex: 1; color: #111827; font-size: 24rpx; line-height: 1.35; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .upgrade-status { margin-top: 14rpx; padding: 14rpx 16rpx; border-radius: 12rpx; background: #f8fafc; color: #64748b; font-size: 23rpx; line-height: 1.45; font-weight: 700; word-break: break-all; } .upgrade-status--ready { background: #effaf8; color: var(--accent-dark); } .upgrade-progress { position: relative; height: 14rpx; margin-top: 16rpx; border-radius: 999rpx; background: #e5e7eb; overflow: hidden; } .upgrade-progress-bar { height: 100%; min-width: 0; border-radius: inherit; background: linear-gradient(90deg, #10b981 0%, #0f8f87 100%); transition: width 0.18s ease; } .theme-dark .upgrade-progress { background: #263241; } .theme-dark .upgrade-progress-bar { background: linear-gradient(90deg, #2dd4bf 0%, #14b8a6 100%); } .theme-dark .upgrade-file-meta-item--checksum, .theme-dark .upgrade-file-meta-item--size, .theme-dark .upgrade-file-name { color: #cbd5e1; } .theme-dark .upgrade-file-meta-item--program { color: #5eead4; }