/* ============================================================ NcModal — 统一弹窗组件============================================================*//* -------- 遮罩层 --------*/
.nc-modal-overlay {position: fixed;inset: 0;z-index: 99999;background: rgba(100, 116, 139, .22);display: flex;align-items: center;justify-content: center;opacity: 0;transition: opacity .25s ease;}
.nc-modal-overlay.nc-show {opacity: 1;}
/* -------- 弹窗主体 --------*/
.nc-modal-box {width: 420px;max-width: 92vw;background: linear-gradient(135deg, #ffffff 0%, #f8fafc 50%, #f1f5f9 100%);border-radius: 16px;box-shadow: 0 8px 32px rgba(30, 41, 59, .10), 0 2px 8px rgba(30, 41, 59, .06);overflow: hidden;transform: scale(.88) translateY(12px);transition: transform .3s cubic-bezier(.34, 1.56, .64, 1), opacity .25s ease;opacity: 0;}
.nc-modal-overlay.nc-show .nc-modal-box {transform: scale(1) translateY(0);opacity: 1;}
.nc-modal-box.nc-model-switch-modal {width: 520px;max-width: min(92vw, 520px);background: linear-gradient(155deg, #fffef9 0%, #f8fbff 46%, #f7f9fc 100%);box-shadow: 0 26px 70px rgba(15, 23, 42, .16), 0 8px 24px rgba(148, 163, 184, .20);border: 1px solid rgba(226, 232, 240, .92);}
.nc-model-switch-modal,
.nc-model-switch-modal * {font-family: "Microsoft YaHei", "微软雅黑", sans-serif;}
/* 关闭动画*/
.nc-modal-overlay.nc-hide {opacity: 0;transition: opacity .2s ease;}
.nc-modal-overlay.nc-hide .nc-modal-box {transform: scale(.92) translateY(6px);opacity: 0;transition: transform .2s ease, opacity .2s ease;}
/* -------- 标题栏 --------*/
.nc-modal-header {display: flex;align-items: center;padding: 16px 22px 0;gap: 8px;}
.nc-modal-title {font-size: 15px;font-weight: 600;color: #334155;letter-spacing: .3px;}
.nc-model-switch-modal .nc-modal-header {padding: 20px 24px 0;}
.nc-model-switch-modal .nc-modal-title {font-size: 13px;letter-spacing: .24em;text-transform: uppercase;color: #9aa7b8;}
/* -------- 内容区 --------*/
.nc-modal-body {padding: 18px 22px 10px;display: flex;align-items: flex-start;gap: 14px;}
.nc-model-switch-modal .nc-modal-body {padding: 18px 24px 14px;display: block;}
/* 图标*/
.nc-modal-icon {flex-shrink: 0;width: 40px;height: 40px;border-radius: 50%;display: flex;align-items: center;justify-content: center;animation: nc-icon-pop .4s cubic-bezier(.34, 1.56, .64, 1);}
@keyframes nc-icon-pop {
    0% {transform: scale(0);}
    100% {transform: scale(1);}
}
.nc-modal-icon svg {width: 22px;height: 22px;}
/* 图标色系*/
.nc-modal-icon.nc-success {background: linear-gradient(135deg, #ecfdf5, #d1fae5);}
.nc-modal-icon.nc-success svg {color: #10b981;}
.nc-modal-icon.nc-error {background: linear-gradient(135deg, #fef2f2, #fecaca);}
.nc-modal-icon.nc-error svg {color: #ef4444;}
.nc-modal-icon.nc-warning {background: linear-gradient(135deg, #fffbeb, #fde68a);}
.nc-modal-icon.nc-warning svg {color: #f59e0b;}
.nc-modal-icon.nc-info {background: linear-gradient(135deg, #eff6ff, #bfdbfe);}
.nc-modal-icon.nc-info svg {color: #3b82f6;}
.nc-modal-icon.nc-loading {background: linear-gradient(135deg, #f5f3ff, #ddd6fe);}
.nc-modal-icon.nc-loading svg {color: #7c3aed;animation: nc-spin 1s linear infinite;}
.nc-model-switch-modal .nc-modal-icon {display: none;}
@keyframes nc-spin {
    from {transform: rotate(0deg);}
    to {transform: rotate(360deg);}
}
/* 描述文字*/
.nc-modal-msg {font-size: 14px;line-height: 1.65;color: #475569;word-break: break-word;padding-top: 8px;}
.nc-model-switch-modal .nc-modal-msg {padding-top: 0;line-height: 1.78;color: #475569;width: 100%;}
.nc-model-switch-card {display: flex;flex-direction: column;gap: 14px;}
.nc-model-switch-heading {display: flex;align-items: center;gap: 10px;flex-wrap: wrap;}
.nc-model-switch-title {font-size: 22px;line-height: 1.38;font-weight: 700;color: #0f172a;}
.nc-model-switch-badge {display: inline-flex;align-items: center;gap: 6px;padding: 5px 10px;border-radius: 999px;font-size: 12px;line-height: 1;font-weight: 600;color: #37516f;background: linear-gradient(135deg, #eef5ff, #e2ecff);border: 1px solid rgba(130, 159, 196, .24);}
.nc-model-switch-badge-icon {display: inline-flex;align-items: center;justify-content: center;width: 14px;height: 14px;border-radius: 50%;background: rgba(55, 81, 111, .08);font-size: 10px;font-weight: 700;line-height: 1;color: #37516f;}
.nc-model-billing-panel {display: flex;flex-direction: column;gap: 12px;padding: 14px 16px;border-radius: 18px;background: linear-gradient(180deg, rgba(247, 250, 255, .98), rgba(241, 245, 249, .94));border: 1px solid rgba(203, 213, 225, .74);box-shadow: inset 0 1px 0 rgba(255,255,255,.9);}
.nc-model-billing-head {display: flex;align-items: baseline;justify-content: space-between;gap: 12px;flex-wrap: wrap;}
.nc-model-billing-title {font-size: 15px;font-weight: 700;letter-spacing: .02em;color: #334155;}
.nc-model-billing-meta {display: inline-flex;align-items: baseline;gap: 8px;flex-wrap: wrap;font-size: 13px;line-height: 1.6;color: #64748b;}
.nc-model-billing-currency {font-weight: 600;color: #475569;}
.nc-model-billing-meta-divider {color: #cbd5e1;}
.nc-model-billing-type {font-weight: 600;color: #64748b;}
.nc-model-billing-grid {display: flex;flex-direction: column;gap: 10px;}
.nc-model-billing-row {display: flex;align-items: center;gap: 8px;flex-wrap: wrap;font-size: 14px;line-height: 1.85;color: #475569;}
.nc-model-billing-label {font-weight: 600;color: #475569;}
.nc-model-billing-value {display: inline-flex;align-items: center;padding: 2px 8px;border-radius: 8px;font-size: 14px;font-weight: 700;line-height: 1.5;}
.nc-model-billing-value.is-cny-true {background: #fde9e7;color: #c00000;}
.nc-model-billing-value.is-usd-true {background: #e8f4eb;color: #00923f;}
.nc-model-billing-unit {color: #64748b;}
.nc-model-billing-divider {margin: 0 2px;color: #cbd5e1;}
.nc-model-delay-note {padding: 12px 14px;border-radius: 16px;background: linear-gradient(135deg, rgba(255, 247, 222, .96), rgba(255, 237, 200, .86));border: 1px solid rgba(251, 191, 36, .25);color: #9a6700;font-size: 13px;line-height: 1.76;box-shadow: inset 0 1px 0 rgba(255,255,255,.7);}
.nc-model-delay-note strong {color: #b45309;}
/* 输入框样式*/
.nc-modal-input {width: 100%;padding: 10px 12px;border: 1px solid #e2e8f0;border-radius: 8px;font-size: 14px;color: #334155;background: #ffffff;transition: all 0.2s ease;margin-top: 8px;outline: none;}
.nc-modal-input:focus {border-color: #6366f1;box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);}
.nc-modal-input::placeholder {color: #94a3b8;}
/* -------- 按钮区 --------*/
.nc-modal-footer {display: flex;justify-content: flex-end;gap: 10px;padding: 8px 22px 18px;}
.nc-model-switch-modal .nc-modal-footer {padding: 4px 24px 22px;}
.nc-modal-btn {padding: 7px 22px;border-radius: 8px;font-size: 13px;font-weight: 500;cursor: pointer;border: none;transition: all .2s ease;letter-spacing: .2px;}
.nc-modal-btn:active {transform: scale(.96);}
/* 确定按钮*/
.nc-modal-btn.nc-btn-primary {background: linear-gradient(135deg, #6366f1, #818cf8);color: #fff;box-shadow: 0 2px 8px rgba(99, 102, 241, .25);}
.nc-modal-btn.nc-btn-primary:hover {background: linear-gradient(135deg, #4f46e5, #6366f1);box-shadow: 0 4px 12px rgba(99, 102, 241, .35);}
/* 取消按钮*/
.nc-modal-btn.nc-btn-cancel {background: #f1f5f9;color: #64748b;border: 1px solid #e2e8f0;}
.nc-modal-btn.nc-btn-cancel:hover {background: #e2e8f0;color: #475569;}
/* 知道了按钮（消息弹窗）*/
.nc-modal-btn.nc-btn-default {background: linear-gradient(135deg, #f8fafc, #f1f5f9);color: #475569;border: 1px solid #e2e8f0;}
.nc-modal-btn.nc-btn-default:hover {background: linear-gradient(135deg, #f1f5f9, #e2e8f0);color: #334155;}
.nc-model-switch-modal .nc-modal-btn.nc-btn-default {padding: 10px 22px;border-radius: 999px;background: linear-gradient(135deg, #fffdf7, #f5f8fc);border: 1px solid rgba(203, 213, 225, .9);box-shadow: 0 8px 18px rgba(226, 232, 240, .7);font-weight: 600;color: #334155;}
.nc-model-switch-modal .nc-modal-btn.nc-btn-default:hover {background: linear-gradient(135deg, #fffaf0, #eef4fb);}
/* 危险操作确认按钮*/
.nc-modal-btn.nc-btn-danger {background: linear-gradient(135deg, #ef4444, #f87171);color: #fff;box-shadow: 0 2px 8px rgba(239, 68, 68, .25);}
.nc-modal-btn.nc-btn-danger:hover {background: linear-gradient(135deg, #dc2626, #ef4444);box-shadow: 0 4px 12px rgba(239, 68, 68, .35);}
/* -------- 自动消失进度条（统一渐变 + 流动动画，从左到右） --------*/
.nc-modal-progress {height: 3px;background: linear-gradient(90deg, #588BEB, #31daa7, #588BEB);background-size: 200% 100%;border-radius: 0 0 16px 16px;animation: nc-progress-shrink linear forwards, nc-gradient-flow 1.5s ease-in-out infinite;margin-left: auto;}
@keyframes nc-progress-shrink {
    from {width: 100%;}
    to {width: 0;}
}
@keyframes nc-gradient-flow {
    0% {background-position: 0% 50%;}
    100% {background-position: 200% 50%;}
}

@media (max-width: 640px) {
    .nc-model-switch-modal .nc-modal-header {padding: 18px 18px 0;}
    .nc-model-switch-modal .nc-modal-body {padding: 16px 18px 12px;gap: 12px;}
    .nc-model-switch-modal .nc-modal-footer {padding: 4px 18px 18px;}
    .nc-model-switch-title {font-size: 19px;}
    .nc-model-billing-head {align-items: flex-start;}
    .nc-model-billing-row {align-items: flex-start;}
}
