.device-detail.data-v-3ef646f9 { min-height: 100vh; position: relative; background-color: #F3F5F6; } .background.data-v-3ef646f9 { width: 100%; height: 50vh; position: fixed; top: 0; left: 0; z-index: 0; background: linear-gradient(180deg, #0F0F0F 0%, #0F0F0F 100%); } .header.data-v-3ef646f9 { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 126rpx; padding: 0 40rpx; box-sizing: border-box; background-color: #FFFFFF; margin-top: 102rpx; border-radius: 30rpx 30rpx 0 0; position: relative; z-index: 1; box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.08); } .header .back-btn.data-v-3ef646f9 { font-size: 36rpx; font-weight: 600; color: #333333; cursor: pointer; transition: opacity 0.3s; width: 60rpx; height: 60rpx; display: flex; align-items: center; justify-content: center; } .header .back-btn.data-v-3ef646f9:active { opacity: 0.6; } .header .header-title.data-v-3ef646f9 { font-size: 36rpx; font-weight: 600; color: #333333; flex: 1; text-align: center; } .header .header-placeholder.data-v-3ef646f9 { width: 60rpx; } .bluetooth-status.data-v-3ef646f9 { width: 100%; background-color: #FFFFFF; display: flex; align-items: center; justify-content: space-between; padding: 30rpx 40rpx; box-sizing: border-box; position: relative; z-index: 1; } .bluetooth-status .status-indicator.data-v-3ef646f9 { display: flex; align-items: center; font-size: 32rpx; font-weight: 600; margin-right: 20rpx; flex: 1; } .bluetooth-status .status-indicator .status-dot.data-v-3ef646f9 { display: block; width: 16rpx; height: 16rpx; border-radius: 50%; margin-right: 20rpx; flex-shrink: 0; } .bluetooth-status .status-indicator .status-dot.status-dot-disconnected.data-v-3ef646f9 { background-color: #FF4444; } .bluetooth-status .status-indicator .status-dot.status-dot-connecting.data-v-3ef646f9 { background-color: #2788F7; -webkit-animation: pulse-data-v-3ef646f9 2s ease-in-out infinite; animation: pulse-data-v-3ef646f9 2s ease-in-out infinite; } .bluetooth-status .status-indicator .status-dot.status-dot-connected.data-v-3ef646f9 { background-color: #61E24F; } .bluetooth-status .status-indicator .status-text.data-v-3ef646f9 { font-size: 32rpx; font-weight: 600; } .bluetooth-status .status-indicator .status-text.status-text-disconnected.data-v-3ef646f9 { color: #FF4444; } .bluetooth-status .status-indicator .status-text.status-text-connecting.data-v-3ef646f9 { color: #2788F7; } .bluetooth-status .status-indicator .status-text.status-text-connected.data-v-3ef646f9 { color: #61E24F; } .bluetooth-status .status-action.data-v-3ef646f9 { font-size: 28rpx; padding: 16rpx 32rpx; border-radius: 12rpx; transition: all 0.3s; flex-shrink: 0; cursor: pointer; } .bluetooth-status .status-action.status-action-disconnected.data-v-3ef646f9 { color: #FF4444; border: 2rpx solid #FF4444; background-color: transparent; } .bluetooth-status .status-action.status-action-disconnected.data-v-3ef646f9:active { background-color: rgba(255, 68, 68, 0.1); } .bluetooth-status .status-action.status-action-connecting.data-v-3ef646f9 { color: #2788F7; border: 2rpx solid #2788F7; background-color: rgba(39, 136, 247, 0.1); } .bluetooth-status .status-action.status-action-connected.data-v-3ef646f9 { color: #61E24F; border: 2rpx solid #61E24F; background-color: rgba(97, 226, 79, 0.1); } .content-container.data-v-3ef646f9 { display: flex; flex-direction: column; min-height: calc(100vh - 400rpx); background-color: #F3F5F6; padding-bottom: 200rpx; position: relative; z-index: 1; } .wifi-form.data-v-3ef646f9 { width: 100%; background: #FFFFFF; border-radius: 0; margin-top: 34rpx; box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.08); } .wifi-form .wifi-item.data-v-3ef646f9 { padding: 40rpx 38rpx; box-sizing: border-box; } .wifi-form .wifi-item.wifi-item-border.data-v-3ef646f9 { border-bottom: 2rpx solid #E5E5E5; } .wifi-form .wifi-item .wifi-label.data-v-3ef646f9 { display: flex; align-items: center; font-size: 28rpx; color: #7F7F7F; margin-bottom: 24rpx; } .wifi-form .wifi-item .wifi-label .wifi-icon.data-v-3ef646f9 { width: 36rpx; height: 36rpx; margin-right: 16rpx; } .wifi-form .wifi-item .wifi-input.data-v-3ef646f9 { width: 100%; font-size: 32rpx; color: #333333; border: none; border-bottom: 2rpx solid #E5E5E5; padding: 16rpx 0; background: transparent; transition: border-color 0.3s; } .wifi-form .wifi-item .wifi-input.data-v-3ef646f9::-webkit-input-placeholder { color: #B9B9B9; } .wifi-form .wifi-item .wifi-input.data-v-3ef646f9::placeholder { color: #B9B9B9; } .wifi-form .wifi-item .wifi-input.data-v-3ef646f9:focus { border-bottom-color: #0F0F0F; outline: none; } .warning-text.data-v-3ef646f9 { width: 100%; text-align: center; font-size: 28rpx; color: #727272; margin-top: 68rpx; padding: 0 70rpx; box-sizing: border-box; line-height: 1.6; } .button-container.data-v-3ef646f9 { width: 100%; height: 126rpx; padding: 24rpx 40rpx 40rpx; box-sizing: border-box; background: #FFFFFF; border-radius: 0; position: fixed; left: 0; bottom: 0; z-index: 10; display: flex; justify-content: space-between; align-items: center; gap: 20rpx; box-shadow: 0 -4rpx 20rpx rgba(0, 0, 0, 0.05); } .button-container .btn-secondary.data-v-3ef646f9 { width: 200rpx; height: 80rpx; line-height: 80rpx; text-align: center; border: 2rpx solid #0F0F0F; background-color: transparent; color: #0F0F0F; font-size: 32rpx; border-radius: 50rpx; transition: all 0.3s; cursor: pointer; } .button-container .btn-secondary.data-v-3ef646f9:active { background-color: rgba(15, 15, 15, 0.1); } .button-container .btn-primary.data-v-3ef646f9 { flex: 1; height: 80rpx; line-height: 80rpx; text-align: center; background: #0F0F0F; color: #FFFFFF; font-size: 32rpx; font-weight: 500; border-radius: 50rpx; transition: all 0.3s; cursor: pointer; box-shadow: 0 4rpx 12rpx rgba(15, 15, 15, 0.2); } .button-container .btn-primary.data-v-3ef646f9:active { opacity: 0.8; -webkit-transform: scale(0.98); transform: scale(0.98); } .loading-overlay.data-v-3ef646f9 { position: fixed; bottom: 0; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); width: 100%; max-width: 750rpx; min-height: 400rpx; background: #FFFFFF; border-radius: 30rpx 30rpx 0 0; z-index: 1000; display: flex; flex-direction: column; align-items: center; padding: 100rpx 40rpx 60rpx; box-sizing: border-box; box-shadow: 0 -4rpx 30rpx rgba(0, 0, 0, 0.15); -webkit-animation: slideUp-data-v-3ef646f9 0.3s ease-out; animation: slideUp-data-v-3ef646f9 0.3s ease-out; } .loading-overlay .loading-content.data-v-3ef646f9 { display: flex; flex-direction: column; align-items: center; width: 100%; } .loading-overlay .error-content.data-v-3ef646f9 { display: flex; flex-direction: column; align-items: center; width: 100%; } .loading-overlay .error-content .error-title.data-v-3ef646f9 { font-size: 36rpx; font-weight: 600; margin-bottom: 40rpx; color: #FF4444; text-align: center; } .loading-overlay .error-content .error-message.data-v-3ef646f9 { font-size: 28rpx; color: #727272; display: block; width: 100%; padding: 0 30rpx; text-align: center; line-height: 1.6; margin-bottom: 60rpx; } .loading-overlay .error-content .error-actions.data-v-3ef646f9 { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 20rpx; } .loading-overlay .error-content .error-actions .error-btn.data-v-3ef646f9 { flex: 1; height: 80rpx; line-height: 80rpx; text-align: center; border-radius: 12rpx; font-size: 30rpx; transition: all 0.3s; cursor: pointer; } .loading-overlay .error-content .error-actions .error-btn.error-btn-cancel.data-v-3ef646f9 { border: 2rpx solid #8d8d8d; color: #727272; background-color: transparent; } .loading-overlay .error-content .error-actions .error-btn.error-btn-cancel.data-v-3ef646f9:active { background-color: rgba(0, 0, 0, 0.05); } .loading-overlay .error-content .error-actions .error-btn.error-btn-retry.data-v-3ef646f9 { background-color: #0F0F0F; color: #FFFFFF; border: 2rpx solid #0F0F0F; } .loading-overlay .error-content .error-actions .error-btn.error-btn-retry.data-v-3ef646f9:active { opacity: 0.8; } .spinner.data-v-3ef646f9 { width: 56rpx; height: 56rpx; border-radius: 50%; border: 6rpx solid #E0E0E0; border-top-color: #61E24F; -webkit-animation: spin-data-v-3ef646f9 1s linear infinite; animation: spin-data-v-3ef646f9 1s linear infinite; margin-bottom: 30rpx; } .loading-text.data-v-3ef646f9 { font-size: 28rpx; color: #727272; text-align: center; line-height: 1.6; } @-webkit-keyframes spin-data-v-3ef646f9 { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spin-data-v-3ef646f9 { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-webkit-keyframes pulse-data-v-3ef646f9 { 0%, 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } 50% { opacity: 0.6; -webkit-transform: scale(1.1); transform: scale(1.1); } } @keyframes pulse-data-v-3ef646f9 { 0%, 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } 50% { opacity: 0.6; -webkit-transform: scale(1.1); transform: scale(1.1); } } @-webkit-keyframes slideUp-data-v-3ef646f9 { from { -webkit-transform: translateX(-50%) translateY(100%); transform: translateX(-50%) translateY(100%); } to { -webkit-transform: translateX(-50%) translateY(0); transform: translateX(-50%) translateY(0); } } @keyframes slideUp-data-v-3ef646f9 { from { -webkit-transform: translateX(-50%) translateY(100%); transform: translateX(-50%) translateY(100%); } to { -webkit-transform: translateX(-50%) translateY(0); transform: translateX(-50%) translateY(0); } }