
/* iOS风格开关 */
.toggle-switch {
    margin-left: 20px;
    position: relative;
    width: 51px;
    height: 31px;
}

.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.switch-slider {
    width: 60%; /* 改为100%确保填满容器 */
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #e9e9eb;
    transition: .4s;
    border-radius: 34px;
}

.switch-slider:before {
    position: absolute;
    content: "";
    height: 27px;
    width: 27px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

input:checked + .switch-slider {
    background-color: #4cd964; /* iOS绿色 */
}

input:checked + .switch-slider:before {
    transform: translateX(20px);
}

/* 开关容器样式 */
.switch-container {
    display: flex;
    align-items: center;
}

/* 禁用状态的开关 */
.toggle-switch.disabled .switch-slider {
    cursor: not-allowed;
    background-color: #e0e0e0;
}

.toggle-switch.disabled input:checked + .switch-slider {
    background-color: #c8e6c9;
}

/* 隐藏红色文字提示 */
.form-hint {
    display: none !important;
}


/* 确保顶部按钮不会遮挡toast */
.top-header {
    z-index: 99999;
}

.action-buttons {
    z-index: 99999;
}
 .XE-main {
            height: 100vh;
            margin: 0;
            width: 100%;
            background: #f3f4f6;
        }
        
        /* 新通知样式 - 从顶部进入 */
        .notification-container {
            position: fixed;
            top: 20px;
            left: 50%;
            transform: translateX(-50%);
            z-index: 9999;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .new-user-toast {
            position: relative;
            background: #4caf50;
            border-radius: 8px;
            padding: 12px 16px;
            display: flex;
            align-items: center;
            box-shadow: 0 4px 12px rgba(0,0,0,.15);
            cursor: pointer;
            will-change: transform,opacity;
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
            max-width: calc(100% - 20px);
            margin-bottom: 10px;
            pointer-events: auto;
            min-width: 400px;
            max-width: 400px;
        }

        .toast-icon {
            width: 24px;
            height: 24px;
            background: #fff;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 12px;
            flex-shrink: 0;
            font-size: 16px;
            color: #4caf50;
            font-weight: bold;
        }

        .toast-text {
            flex: 1;
            color: #fff;
            font-size: 15px;
            font-weight: 500;
            line-height: 1.4;
            word-break: break-word;
        }

        .toast-close {
            width: 24px;
            height: 24px;
            background: transparent;
            border: none;
            color: #fff;
            font-size: 20px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: .8;
            flex-shrink: 0;
            transition: opacity .15s ease,transform .15s ease;
            padding: 0;
            margin-left: 8px;
        }

        .toast-close:hover {
            opacity: 1;
        }

        .toast-close:active {
            transform: scale(.85);
        }

        /* 通知进入和离开动画 - 从顶部进入 */
        .notification-enter-active {
            animation: notification-slide-in 0.3s ease-out;
        }

        .notification-leave-active {
            animation: notification-slide-out 0.3s ease-in forwards;
        }

        @keyframes notification-slide-in {
            0% {
                transform: translateY(-100px);
                opacity: 0;
            }
            100% {
                transform: translateY(0);
                opacity: 1;
            }
        }

        @keyframes notification-slide-out {
            0% {
                transform: translateY(0);
                opacity: 1;
            }
            100% {
                transform: translateY(-100px);
                opacity: 0;
            }
        }

        /* 暗色模式支持 */
        @media (prefers-color-scheme: dark) {
            .new-user-toast {
                box-shadow: 0 4px 12px rgba(0,0,0,.3);
            }

            .toast-text {
                color: #ffffff;
            }
        }

        /* 多行文本支持 */
        .toast-text.multiline {
            line-height: 1.3;
            max-height: 60px;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
        }

        /* 隐藏状态 */
        .toast-hidden {
            display: none;
        }

        /* 不同颜色的通知 */
        .new-user-toast.info {
            background: #2196f3;
        }

        .new-user-toast.info .toast-icon {
            color: #2196f3;
        }

        .new-user-toast.warning {
            background: #ff9800;
        }

        .new-user-toast.warning .toast-icon {
            color: #ff9800;
        }

        .new-user-toast.error {
            background: #f44336;
        }

        .new-user-toast.error .toast-icon {
            color: #f44336;
        }
                /* 预览区域样式 */
                .preview-container {
                    max-width: 600px;
                    margin: 0 auto;
                    padding: 20px 12px 20px;
                }
                
                .preview-card {
                    background-color: #fff;
                    border-radius: 16px;
                    overflow: hidden;
                    margin-bottom: 16px;
                    box-shadow: 0 1px 10px rgba(0, 0, 0, 0.06);
                }
                
                .preview-status-header {
                    font-size: 17px;
                    font-weight: 600;
                    letter-spacing: -0.03em;
                    color: #171717;
                    padding: 20px 16px 0;
                }
                
                .preview-status-progress-container {
                    padding: 0 8px 20px;
                    margin-top: 24px;
                }
                
                .preview-status-progress-wrapper {
                    position: relative;
                    margin: 0 auto;
                    padding-top: 7px;
                }
                
                .preview-status-progress-track {
                    position: absolute;
                    top: 30%;
                    left: 20px;
                    right: 20px;
                    height: 2px;
                    background-color: #e7e7e7;
                    transform: translateY(-50%);
                }
                
                .preview-status-progress-fill {
                    position: absolute;
                    top: 30%;
                    left: 20px;
                    height: 2px;
                    width: 15%;
                    background-color: #FF4D4F;
                    transform: translateY(-50%);
                }
                
                .preview-status-steps {
                    padding-left: 0.5rem;
                    padding-right: 0.5rem;
                    display: flex;
                    justify-content: space-between;
                    position: relative;
                }
                
                .preview-status-step {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    text-align: center;
                    width: 20%;
                    position: relative;
                }
                
                .preview-status-step-circle {
                    width: 16px;
                    height: 16px;
                    border-radius: 50%;
                    border: 2px solid #dedede;
                    background-color: white;
                    position: relative;
                    z-index: 2;
                }
                
                .preview-status-step-circle.active {
                    border-color: #FF4D4F;
                    background-color: #FF4D4F;
                }
                
                .preview-status-step-text {
                    margin-top: 10px;
                    font-size: 11px;
                    font-weight: 600;
                    white-space: nowrap;
                    letter-spacing: -0.02em;
                    color: #202020;
                }
                
                .preview-contact-section {
                    display: flex;
                    align-items: flex-start;
                    justify-content: space-between;
                    gap: 16px;
                    padding: 16px;
                }
                
                .preview-contact-info {
                    flex: 1;
                    min-width: 0;
                }
                
                .preview-contact-title {
                    font-size: 18px;
                    font-weight: 600;
                    letter-spacing: -0.02em;
                    color: #111827;
                }
                
                .preview-contact-detail {
                    margin-top: 12px;
                    font-size: 14px;
                    line-height: 1.5;
                    color: #374151;
                }
                
                .preview-contact-name {
                    font-weight: 600;
                    color: #111827;
                }
                
                .preview-contact-method {
                    color: #FF4D4F;
                    font-weight: 600;
                }
                
                .preview-contact-tip {
                    margin-top: 8px;
                    font-size: 12px;
                    line-height: 1.25;
                    color: #9ca3af;
                }
                
                .preview-qr-code-container {
                    width: 150px;
                    height: 150px;
                    flex-shrink: 0;
                    border-radius: 16px;
                    border: 2px solid #FF4D4F;
                    background-color: white;
                    padding: 8px;
                    overflow: hidden;
                }
                
                .preview-qr-code-wrapper {
                    position: relative;
                    width: 100%;
                    height: 100%;
                }
                
                .preview-qr-code-img {
                    width: 100%;
                    height: 100%;
                }
                
                .preview-qr-logo {
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                    width: 22%;
                    height: 22%;
                    border-radius: 50%;
                    border: 3px solid white;
                    background-color: white;
                    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
                    overflow: hidden;
                }
                
                .preview-qr-logo img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
                
                .preview-product-info {
                    display: flex;
                    align-items: flex-start;
                    justify-content: space-between;
                    padding: 16px;
                }
                
                .preview-product-image-container {
                    width: 86px;
                    height: 86px;
                    border-radius: 16px;
                    background-color: #f3f4f6;
                    overflow: hidden;
                    margin-right: 12px;
                }
                
                .preview-product-details {
                    flex: 1;
                    min-width: 0;
                }
                
                .preview-product-title {
                    font-size: 16px;
                    font-weight: 600;
                    letter-spacing: -0.01em;
                    color: #111827;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap;
                }
                
                .preview-product-price-section {
                    text-align: right;
                }
                
                .preview-product-price {
                    font-size: 18px;
                    font-weight: 600;
                    letter-spacing: -0.02em;
                    color: #111827;
                }
                
                .preview-product-status {
                    margin-top: 4px;
                    font-size: 14px;
                    color: #6b7280;
                }
                
                .preview-price-details {
                    padding: 0 16px 16px;
                }
                
                .preview-price-row {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    font-size: 14px;
                    color: #4b5563;
                }
                
                .preview-price-row:not(:first-child) {
                    margin-top: 8px;
                }
                
                .preview-price-value {
                    font-weight: 600;
                    color: #111827;
                }
                
                .preview-bottom-banner {
                    height: 155px;
                    width: 100%;
                    overflow: hidden;
                    background-color: white;
                }
                
                .preview-banner-img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }