:root{--primary:#1e3a5f;--primary-light:#3b82f6;--primary-dark:#152d4a;--primary-bg:#e8f0fe;--accent:#0ea5e9;
  --bg:#f1f5f9;--bg-soft:#f8fafc;--bg-card:#fff;
  --text:#0f172a;--text-muted:#64748b;--text-light:#94a3b8;
  --border:#e2e8f0;--border-light:#eef2f6;
  --success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#0ea5e9;
  --radius:12px;--radius-sm:8px;--radius-lg:20px;--radius-xl:24px;
  --shadow:0 4px 16px rgba(15,23,42,.06);--shadow-lg:0 12px 40px rgba(15,23,42,.1);
  --ind-cert:#1e4a7a;--ind-insp:#0b6e4f;--ind-cons:#7c3aed;
  --ind-train:#d97706;--ind-manu:#1e3a5f;--ind-const:#b91c1c;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',Roboto,'PingFang SC','Microsoft YaHei',sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
.container{max-width:1400px;margin:0 auto;padding:0 24px}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit;color:inherit}
input,textarea,select{font-family:inherit;font-size:.9rem;outline:none;color:var(--text)}
img{max-width:100%;display:block}

/* ========== 顶部导航 ========== */
.top-nav{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;height:64px;display:flex;align-items:center;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.top-nav .nav-inner{max-width:1400px;margin:0 auto;padding:0 24px;width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px}
.nav-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.2rem;color:var(--primary);cursor:pointer}
.nav-brand .brand-logo{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#3b82f6,#1e3a5f);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem}

/* ========== CSS变量扩展（差异化布局引擎） ========== */
:root{--card-radius:8px;--spacing:2rem}

/* ========== Banner上传 ========== */
.banner-upload-zone{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:16px 0}
.banner-upload-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--bg);border:2px dashed var(--border);border-radius:12px;cursor:pointer;transition:.2s;font-size:.85rem;font-weight:600;color:var(--text-muted)}
.banner-upload-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}
.banner-preview{width:120px;height:60px;border-radius:8px;object-fit:cover;border:1px solid var(--border);background:var(--bg)}
.banner-status{font-size:.78rem;color:var(--text-muted);display:flex;align-items:center;gap:6px}

/* ========== 小程序增强 ========== */
.mini-prod-card{background:var(--bg);border-radius:8px;padding:8px 10px;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}
.mini-prod-card .mpc-name{font-weight:600;font-size:.72rem}
.mini-prod-card .mpc-cat{font-size:.55rem;color:#fff;padding:1px 6px;border-radius:5px;font-weight:600}
.mini-adv-tag{display:inline-block;background:var(--primary);color:#fff;padding:2px 8px;border-radius:8px;font-size:.6rem;font-weight:600;margin:2px}
.mini-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.mini-stat-card{background:var(--bg);border-radius:8px;padding:8px;text-align:center}
.mini-stat-card .msc-num{font-weight:700;font-size:.85rem;display:block}
.mini-stat-card .msc-lbl{font-size:.6rem;color:var(--text-muted)}
.mini-contact-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:.72rem;color:var(--text-muted)}
/* 产品/服务完整字段表单 */
.pf-lbl{font-size:.78rem;font-weight:600;color:var(--text-muted);display:block;margin-bottom:4px}
.pf-inp{width:100%;padding:8px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:.85rem;background:#fff}
/* 小程序预览视觉美化 */
.mini-svc-tile{background:#fff;border:1px solid var(--border-light);border-radius:10px;padding:9px 6px;text-align:center;box-shadow:0 2px 6px rgba(15,23,42,.04);transition:.2s}
.mini-svc-tile i{font-size:1rem;display:block;margin-bottom:4px}
.mini-svc-tile span{font-size:.6rem;font-weight:600;color:var(--text);line-height:1.2;display:block}
.mini-news-card{background:#fff;border:1px solid var(--border-light);border-radius:8px;padding:7px 10px;margin-bottom:6px;border-left:3px solid var(--primary)}
.mini-news-card .mnc-date{font-size:.52rem;color:var(--text-light);display:block}
.mini-news-card .mnc-title{font-size:.64rem;font-weight:600;color:var(--text)}
.mini-adv-tag{box-shadow:0 2px 6px rgba(15,23,42,.12)}
.phone-mock .pm-tab.active{border-bottom-width:2px}

/* ========== 单页预览新窗口按钮 ========== */
.btn-purple{background:#7c3aed;color:#fff}.btn-purple:hover{background:#6d28d9;transform:translateY(-1px)}
.nav-tabs{display:flex;gap:6px;flex:1;justify-content:center}
.nav-tab{padding:8px 18px;border-radius:22px;font-size:.88rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:.2s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.nav-tab:hover{background:var(--bg);color:var(--primary)}
.nav-tab.active{background:var(--primary);color:#fff}
.nav-tab .badge{background:var(--danger);color:#fff;font-size:.62rem;padding:1px 7px;border-radius:10px;font-weight:700;margin-left:2px}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-toggle{display:none;background:none;border:none;font-size:1.3rem;color:var(--primary);cursor:pointer;padding:6px 10px}
.btn-upgrade{color:var(--text-muted);font-weight:600;font-size:.88rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:22px;font-weight:600;transition:.2s}
.btn-upgrade:hover{background:var(--bg);color:var(--primary);transition:.2s}
.user-company-label{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 10px;border-radius:6px;color:var(--primary);font-weight:600;font-size:.85rem;cursor:pointer;line-height:1.4;display:flex;align-items:center}
.user-company-label:hover{background:var(--bg);transition:.2s}
.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1e3a5f);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer}

/* 用户菜单 */
.user-menu{position:relative}
.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.15);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s;z-index:100}
.user-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}
.user-info{padding:16px;border-bottom:1px solid var(--border)}
.user-company{font-weight:700;font-size:.95rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:248px}
.user-menu-divider{height:1px;background:var(--border);margin:4px 0}
.user-menu-item{padding:10px 16px;font-size:.88rem;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:10px;transition:.15s}
.user-menu-item:hover{background:var(--bg);color:var(--primary)}
.user-menu-item.logout{color:#ef4444}
.user-menu-item.logout:hover{background:#fef2f2;color:#dc2626}

/* 产品管理：分类筛选下拉 */
.cat-filter-wrap{position:relative;display:inline-block}
.cat-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.15);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.18s;z-index:120;padding:6px;max-height:320px;overflow:auto}
.cat-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}
.cat-dd-item{padding:9px 14px;font-size:.86rem;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:9px;border-radius:8px;transition:.15s}
.cat-dd-item:hover{background:var(--bg);color:var(--primary)}
.cat-dd-item.active{background:var(--primary);color:#fff}
.cat-dd-item.active i{color:#fff}

/* ========== 视图 ========== */
.view{display:none;min-height:calc(100vh - 64px);padding:32px 0 60px}
.view.active{display:block;animation:fadeIn .35s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.view-title{font-size:1.6rem;font-weight:800;margin-bottom:8px;display:flex;align-items:center;gap:12px}
.view-subtitle{color:var(--text-muted);margin-bottom:28px;font-size:.95rem}
.section-title{font-size:1.2rem;font-weight:800;margin:32px 0 16px;color:var(--text);display:flex;align-items:center;gap:10px}
.section-title .tag{font-size:.65rem;background:var(--primary-light);color:var(--primary);padding:2px 8px;border-radius:8px;font-weight:700}
/* C-7：平台字段未就绪的「暂存本地」提示（Step2 面板 / 品牌问卷弹窗共用） */
.local-hint{display:flex;align-items:flex-start;gap:8px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:8px;padding:8px 12px;font-size:.78rem;line-height:1.5;margin:0 0 14px}
.local-hint i{margin-top:2px;flex-shrink:0}

/* ========== 按钮 ========== */
.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border-radius:26px;font-weight:600;font-size:.9rem;cursor:pointer;transition:.2s;border:none;white-space:nowrap}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(30,58,95,.25)}
.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover{background:var(--primary);color:#fff}
.btn-ghost{background:var(--bg);color:var(--text-muted)}.btn-ghost:hover{background:#e2e8f0;color:var(--text)}
.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669}
.btn-warn{background:var(--warning);color:#fff}.btn-warn:hover{background:#d97706}
.btn-sm{padding:6px 14px;font-size:.78rem}
.btn-lg{padding:14px 32px;font-size:1rem}
.btn[disabled],.btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}

/* ========== Toast ========== */
.toast-container{position:fixed;top:80px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px}
.toast{padding:12px 20px;border-radius:12px;color:#fff;font-weight:600;font-size:.88rem;box-shadow:0 8px 24px rgba(0,0,0,.15);animation:slideIn .3s ease;max-width:360px}
.toast.info{background:var(--primary)}.toast.success{background:var(--success)}.toast.warn{background:var(--warning)}.toast.error{background:var(--danger)}
@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}

/* ========== Modal ========== */
.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.modal-overlay.active{display:flex}
.modal{background:#fff;border-radius:var(--radius-lg);max-width:800px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.2);animation:modalIn .25s ease;min-width:480px}
@keyframes modalIn{from{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff;z-index:2}
.modal-header h2{font-size:1.2rem;font-weight:800}
.modal-close{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.15s;font-size:1.1rem;color:var(--text-muted)}
.modal-close:hover{background:var(--bg);color:var(--text)}
.modal-body{padding:24px 28px}
.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid var(--border);background:#fff;position:sticky;bottom:0}
/* 扩展页编辑弹窗：放大/还原（epToggleMaximize） */
#extraPageEditorModal .modal.modal-max{max-width:96vw !important;width:96vw;height:92vh;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}
#extraPageEditorModal .modal.modal-max .modal-body{flex:1;overflow-y:auto}
/* 修复：生成营销单页弹窗偶发被压缩成窄竖条 */
#genModal .modal{min-width:min(760px,94vw)}
#genModal .sp-tabs{flex-wrap:nowrap;overflow-x:auto}

/* ========== WELCOME ========== */
.welcome-hero{background:linear-gradient(135deg,#1e3a5f 0%,#3b82f6 100%);color:#fff;padding:56px 0 44px;text-align:center;border-radius:var(--radius-lg);margin-bottom:36px;position:relative;overflow:hidden}
.welcome-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.08) 0%,transparent 50%)}
.welcome-hero .hero-inner{position:relative}
.welcome-hero .hero-badge{display:inline-block;background:rgba(255,255,255,.18);padding:5px 18px;border-radius:20px;font-size:.8rem;margin-bottom:18px;font-weight:600}
.welcome-hero h1{font-size:2.8rem;font-weight:800;margin-bottom:12px;letter-spacing:.5px}
.welcome-hero h1 span{background:linear-gradient(90deg,#7dd3fc,#a5f3fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.welcome-hero p{font-size:1.1rem;opacity:.92;max-width:640px;margin:0 auto}
.hero-cta{display:flex;gap:16px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.hero-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 34px;border-radius:32px;font-weight:700;font-size:1.05rem;cursor:pointer;transition:.25s;border:none;letter-spacing:.3px}
.hero-btn-primary{background:#fff;color:var(--primary);box-shadow:0 6px 24px rgba(0,0,0,.15)}
.hero-btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.22)}
.hero-btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.5);backdrop-filter:blur(4px)}
.hero-btn-ghost:hover{background:rgba(255,255,255,.22);transform:translateY(-2px)}

/* 6项核心能力 */
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}
.cap-card{background:#fff;border-radius:16px;padding:22px;box-shadow:var(--shadow);transition:.25s;cursor:pointer;border:2px solid transparent}
.cap-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}
.cap-card .cap-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;margin-bottom:14px}
.cap-icon.c1{background:linear-gradient(135deg,#3b82f6,#1e3a5f)}
.cap-icon.c2{background:linear-gradient(135deg,#10b981,#059669)}
.cap-icon.c3{background:linear-gradient(135deg,#f59e0b,#d97706)}
.cap-icon.c4{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}
.cap-icon.c5{background:linear-gradient(135deg,#ec4899,#db2777)}
.cap-icon.c6{background:linear-gradient(135deg,#0ea5e9,#0369a1)}
.cap-card .cap-name{font-weight:700;font-size:1.05rem;color:var(--text);margin-bottom:6px}
.cap-card .cap-desc{color:var(--text-muted);font-size:.85rem;line-height:1.55}

/* 四大价值 */
.value-strip{background:linear-gradient(90deg,var(--primary-light),#faf5ff,#fef3c7);border:1px dashed var(--primary-light);border-radius:16px;padding:22px 28px;margin-bottom:44px;text-align:center;font-weight:700;font-size:1rem;color:var(--primary-dark)}
.value-strip .v-item{display:inline-flex;align-items:center;gap:6px;margin:0 14px}

/* 升级入口 */
.upgrade-banner{background:linear-gradient(135deg,#fff7ed 0%,#fef2f2 100%);border-radius:var(--radius-lg);padding:32px;margin-bottom:32px;border:1px solid #fed7aa}
.upgrade-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;flex-wrap:wrap;gap:12px}
.upgrade-header h2{font-size:1.4rem;font-weight:800;color:#9a3412;display:flex;align-items:center;gap:10px}
.upgrade-header p{color:#c2410c;font-size:.9rem;margin-top:4px}
.upgrade-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.up-card{background:#fff;border-radius:14px;padding:22px 18px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.05);transition:.2s;border:2px solid transparent;position:relative}
.up-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#f59e0b}
.up-card .u-icon{font-size:2.2rem;margin-bottom:8px}
.up-card .u-name{font-weight:700;font-size:1.05rem;color:var(--text);margin-bottom:4px}
.up-card .u-desc{font-size:.78rem;color:var(--text-muted);min-height:34px;margin-bottom:12px}
.up-card .u-btn{background:var(--primary);color:#fff;padding:7px 16px;border-radius:20px;font-size:.78rem;font-weight:600;width:100%}
.up-card.opened{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:var(--success)}
.up-card.opened .u-btn{background:var(--success)}
.up-card .opened-tag{position:absolute;top:10px;right:10px;background:var(--success);color:#fff;font-size:.6rem;padding:2px 7px;border-radius:6px;font-weight:700}

/* 页脚 */
.site-footer{margin-top:48px;padding:32px 0 0;border-top:1px solid var(--border)}
.footer-inner{max-width:1400px;margin:0 auto;padding:0 24px}
.footer-links{display:flex;gap:24px;justify-content:center;margin-bottom:16px}
.footer-links a{color:var(--text-muted);font-size:.85rem;font-weight:500;transition:.15s}
.footer-links a:hover{color:var(--primary)}
.footer-copyright{display:flex;justify-content:center;align-items:center;gap:20px;padding:16px 0 32px;color:var(--text-light);font-size:.8rem}

/* ========== WIZARD ========== */
.wizard-progress{display:flex;justify-content:center;gap:8px;margin-bottom:36px;flex-wrap:wrap}
.wiz-step{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:14px;background:var(--bg-soft);border:1px solid var(--border);transition:.2s;cursor:pointer;min-width:140px}
.wiz-step.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 16px rgba(30,58,95,.2)}
.wiz-step .step-num{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}
.wiz-step.active .step-num{background:rgba(255,255,255,.25);color:#fff}
.wiz-step .step-label{font-size:.65rem;opacity:.7;line-height:1}
.wiz-step .step-name{font-weight:700;font-size:.88rem;line-height:1.3}
.wiz-panel{display:none;margin-top:8px}
.card-block{background:#fff;border-radius:16px;padding:24px 28px;box-shadow:0 4px 16px rgba(15,23,42,.06);margin-bottom:20px}
.wiz-footer{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}
.wiz-footer .btn{min-width:100px;justify-content:center}
.wiz-panel.active{display:block}

/* 行业卡片 */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ind-card{background:#fff;border-radius:16px;padding:26px 22px;cursor:pointer;transition:.25s;border:3px solid transparent;box-shadow:var(--shadow);position:relative;overflow:hidden}
.ind-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--i-color,var(--primary))}
.ind-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.ind-card.active{border-color:var(--i-color);transform:translateY(-3px);box-shadow:0 8px 24px rgba(59,130,246,.12)}
.ind-card.active::after{content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;top:14px;right:14px;width:26px;height:26px;background:var(--i-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem}
.ind-card .ind-icon{width:56px;height:56px;background:var(--i-color);color:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:14px}
.ind-card h4{font-size:1.15rem;font-weight:800;margin-bottom:4px}
.ind-card p{color:var(--text-muted);font-size:.85rem;margin-bottom:10px;line-height:1.45}
.ind-tags{display:flex;gap:6px;flex-wrap:wrap}
.ind-tag{background:var(--bg);padding:3px 10px;border-radius:10px;font-size:.7rem;font-weight:600;color:var(--text-muted)}
/* C-5 行业分组（智服/智造/智工 · 由分类树动态渲染） */
.ind-groups{display:block}
.ind-hint{padding:24px;text-align:center;color:var(--text-muted);font-size:.85rem}
.ind-group{margin-bottom:26px}
.ind-group:last-child{margin-bottom:0}
.ind-group-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ind-group-name{font-size:1rem;font-weight:800}
.ind-group-industry{font-size:.7rem;font-weight:700;color:#fff;background:var(--primary);border-radius:8px;padding:2px 8px}
.ind-group-desc{font-size:.78rem;color:var(--text-muted)}
.ind-group-error{padding:24px;text-align:center;color:#b91c1c;font-size:.85rem;line-height:1.7}
.cfg-ind-group{margin-bottom:12px}
.cfg-ind-group-name{font-size:.74rem;font-weight:700;color:var(--text-muted);margin-bottom:6px}
.cfg-ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cfg-ind-item{padding:10px 12px;border-radius:10px;cursor:pointer;text-align:center;font-size:.8rem;font-weight:600;border:2px solid var(--border);background:#fff;transition:.15s}
.prefill-banner{background:#eef2ff;border-left:4px solid var(--primary-light);border-radius:10px;padding:12px 18px;margin-bottom:20px;display:flex;align-items:center;gap:12px;font-size:.88rem;flex-wrap:wrap}

/* 问卷（Step 2 行业差异化） */
.quest-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.quest-card{background:#fff;border-radius:14px;padding:18px 20px;box-shadow:var(--shadow)}
.quest-card h4{font-weight:700;margin-bottom:10px;font-size:.95rem;display:flex;align-items:center;gap:6px}
.quest-card h4 .q-num{width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;flex-shrink:0}
.pill-group{display:flex;flex-wrap:wrap;gap:7px}
.pill{background:var(--bg);padding:7px 15px;border-radius:20px;font-size:.82rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:.15s;border:1.5px solid transparent;user-select:none}
.pill:hover{background:#e2e8f0;color:var(--text)}
.pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}

/* 产品管理（Step 3） */
.prod-toolbar{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;align-items:center}
.prod-toolbar .search-box{flex:1;min-width:180px;display:flex;align-items:center;background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:0 14px;gap:8px}
.prod-toolbar .search-box input{flex:1;padding:10px 0;border:none;background:transparent}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.prod-card{background:#fff;border-radius:14px;padding:18px;box-shadow:var(--shadow);transition:.2s;border:1px solid var(--border)}
.prod-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.mk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}

/* Step 4 域名配置 */
.domain-row{display:flex;gap:16px;flex-wrap:wrap}
.domain-option{flex:1;min-width:260px;background:#fff;border:2px solid var(--border);border-radius:14px;padding:18px;cursor:pointer;transition:.2s}
.domain-option.active{border-color:var(--primary);background:var(--primary-bg)}
.domain-option .do-title{font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.domain-option .do-desc{font-size:.82rem;color:var(--text-muted)}
.pages-checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.page-check-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:.15s}
.page-check-item:hover{border-color:var(--primary-light);background:#f8faff}
.page-check-item.checked{border-color:var(--primary);background:var(--primary-bg)}
.page-check-item input{width:18px;height:18px;accent-color:var(--primary)}
/* 扩展页面卡片上的小链接式编辑按钮（不抢视觉，靠右下角）。
   文字色必须用固定值：--primary-light 会被「重新生成网站」按站点主色覆盖成近白淡色
   （confirmRegenSite → deriveColorLight，92% 混白），借用它会让按钮文字变灰几乎看不见 */
.ep-link-btn{border:none;background:none;color:#3b82f6;font-size:.72rem;font-weight:600;cursor:pointer;padding:2px 2px;display:inline-flex;align-items:center;gap:4px}
.ep-link-btn:hover{color:var(--primary);text-decoration:underline}

/* 配置弹窗 Step4 的扩展页卡片：checkbox 用独立 label(for)，按钮放在 label 外，避免 label 吞掉按钮点击 */
.ep-card{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;background:#fff;border-radius:6px;border:1px solid var(--border);font-size:.78rem}
.ep-card-main{display:flex;align-items:center;gap:6px;cursor:pointer;flex:1;min-width:0}
.ep-card-main input{width:15px;height:15px;accent-color:var(--primary);flex-shrink:0}
.ep-card-desc{font-size:.7rem;color:var(--text-muted)}
.ep-card-btns{display:flex;gap:14px;flex-shrink:0;margin-left:auto}

/* ========== 首页模板预览 ========== */
.hp-nav{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-bottom:2px solid #e2e8f0;background:#fff;border-radius:12px 12px 0 0}
.hp-nav .hp-logo{font-weight:700;font-size:1.05rem;display:flex;align-items:center;gap:8px}
.hp-nav .hp-links{display:flex;gap:4px}
.hp-nav .hp-links a{padding:6px 14px;border-radius:6px;font-size:.82rem;font-weight:500;color:#64748b;cursor:pointer;transition:.15s}
.hp-nav .hp-links a:hover{color:#0f172a;background:#f8fafc}
.hp-nav-toggle{display:none;background:none;border:none;font-size:1.2rem;color:#64748b;cursor:pointer;padding:6px 10px}
.hp-hero{padding:36px 24px 28px;text-align:center;background:#fff}
.hp-hero h1{font-size:2rem;font-weight:700;margin-bottom:8px}
.hp-hero p{color:#475569;margin-bottom:18px;max-width:600px;margin-left:auto;margin-right:auto}
.hp-hero .hp-stats{display:flex;justify-content:center;gap:30px;margin-top:16px;padding-top:12px;border-top:1px solid #e2e8f0}
.hp-hero .hp-stats .hs-item{text-align:center}
.hp-hero .hp-stats .hs-num{font-size:1.3rem;font-weight:700}
.hp-hero .hp-stats .hs-lbl{font-size:.78rem;color:#94a3b8}
.hp-section{padding:28px 24px}
.hp-section:nth-child(even){background:#f8fafc}
.hp-section h2{font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.hp-adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hp-adv-card{background:#fff;border-radius:10px;padding:16px;border:1px solid #eef2f6;text-align:center}
.hp-adv-card i{font-size:1.6rem;margin-bottom:4px}
.hp-adv-card h4{font-weight:600;font-size:.9rem}
.hp-adv-card p{color:#64748b;font-size:.78rem}
.hp-prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.hp-prod-card{border:1px solid #eef2f6;border-radius:10px;padding:14px 16px;cursor:pointer;transition:.2s}
.hp-prod-card:hover{border-color:var(--primary);transform:translateY(-2px)}
.hp-prod-card i{font-size:1.3rem}
.hp-prod-card h5{font-weight:600;font-size:.9rem;margin:4px 0 2px}
.hp-prod-card p{font-size:.75rem;color:#94a3b8}
.hp-prod-card .hp-tag{font-size:.6rem;padding:1px 8px;border-radius:40px;display:inline-block;margin-top:4px}
.hp-news-list{display:flex;flex-direction:column;gap:10px}
.hp-news-item{padding:10px 14px;background:#fff;border-radius:8px;border:1px solid #eef2f6}
.hp-news-item .hp-news-date{font-size:.7rem;color:#94a3b8}
.hp-news-item h4{font-weight:600;font-size:.9rem}
.hp-news-item p{font-size:.78rem;color:#64748b}
.hp-about{text-align:center;max-width:600px;margin:0 auto 0}
.hp-about p{color:#475569}
.hp-footer{padding:20px 24px;text-align:center;border-top:1px solid #e2e8f0;font-size:.8rem;color:#94a3b8}
/* 首页9大板块补全（1:1对齐行业模板） */
.hp-hero-badge{display:inline-block;font-size:.68rem;font-weight:600;padding:3px 12px;border-radius:40px;margin-bottom:10px}
.hp-hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:6px}
.hp-hero-actions .hp-btn{padding:9px 22px;border-radius:40px;font-weight:600;font-size:.82rem;cursor:pointer;transition:.2s}
.hp-hero-actions .hp-btn-outline{background:transparent;border:2px solid currentColor}
.hp-cat-group{margin-bottom:20px}
.hp-cat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.hp-cat-header h3{font-weight:700;font-size:1rem}
.hp-cat-header .hp-count{color:#94a3b8;font-size:.75rem}
.hp-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.hp-mini-card{background:#fff;border-radius:10px;padding:12px 14px;border:1px solid #eef2f6;cursor:pointer;transition:.2s}
.hp-mini-card:hover{transform:translateY(-2px)}
.hp-mini-card i{font-size:1.2rem}
.hp-mini-card h5{font-weight:600;font-size:.85rem;margin:4px 0 2px}
.hp-mini-card p{font-size:.72rem;color:#94a3b8}
.hp-mini-card .hp-tag{font-size:.58rem;padding:1px 8px;border-radius:40px;display:inline-block;margin-top:4px}
.hp-viewall{text-align:center;margin-top:12px}
.hp-viewall .hp-btn{padding:8px 22px;border-radius:40px;font-weight:600;font-size:.8rem;color:#fff;cursor:pointer}
.hp-partner-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.hp-partner-card{background:#fff;border-radius:12px;padding:20px 12px;text-align:center;border:1px solid #eef2f6;transition:.2s}
.hp-partner-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.06)}
.hp-partner-logo{width:48px;height:48px;border-radius:12px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin:0 auto 8px}
.hp-partner-card h5{font-weight:600;font-size:.85rem;margin-bottom:2px}
.hp-partner-card .hp-partner-industry{font-size:.7rem;color:#94a3b8}
.hp-news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.hp-news-card{background:#fff;border-radius:12px;padding:16px;border:1px solid #eef2f6;transition:.2s}
.hp-news-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.06)}
.hp-news-tag{display:inline-block;font-size:.62rem;font-weight:600;padding:2px 10px;border-radius:20px;margin-bottom:6px}
.hp-news-card .hp-news-title{font-weight:700;font-size:.9rem;margin-bottom:4px}
.hp-news-card .hp-news-meta{font-size:.68rem;color:#94a3b8;display:flex;gap:10px;margin-bottom:6px}
.hp-news-card .hp-news-sum{font-size:.76rem;color:#64748b;line-height:1.5}
.hp-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 auto;max-width:640px}
.hp-ci{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #eef2f6}
.hp-ci .hp-ci-icon{width:40px;height:40px;border-radius:12px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.hp-ci .hp-ci-label{font-size:.68rem;color:#94a3b8}
.hp-ci .hp-ci-value{font-weight:700;font-size:.88rem}
.hp-map{border-radius:12px;overflow:hidden;border:1px solid #eef2f6;margin:16px auto 0;max-width:640px}
.hp-map iframe{width:100%;height:220px;border:none;display:block}
.hp-fab-demo{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:14px;padding:10px;background:#fff;border:1px dashed var(--border);border-radius:10px;font-size:.78rem;color:#64748b}
.hp-fab-demo .hp-fab-icon{width:40px;height:40px;border-radius:40px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem}

/* ========== 产品详情页加载动画 ========== */
.pdl-container{display:flex;align-items:center;justify-content:center;min-height:400px;padding:40px}
.pdl-container .pdl-inner{text-align:center}
.pdl-container .pdl-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;animation:pdlSpin .8s linear infinite;margin:0 auto 16px}
@keyframes pdlSpin{to{transform:rotate(360deg)}}
.pdl-container .pdl-title{font-weight:700;font-size:1.1rem;margin-bottom:4px}
.pdl-container .pdl-bar-wrap{background:#e2e8f0;border-radius:20px;height:8px;width:300px;margin:16px auto;overflow:hidden;max-width:90%}
.pdl-container .pdl-bar{height:100%;border-radius:20px;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .5s ease;width:0%}
.pdl-container .pdl-hint{font-size:.82rem;color:#94a3b8;margin-top:8px}
.prod-detail-actions{display:flex;gap:8px;padding:14px 0;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:20px}
.prod-detail-actions .btn{font-size:.78rem}

/* 首页模板区域 */
.home-template-wrap{border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:24px}
.gen-progress{text-align:center;padding:24px;background:var(--bg)}
.gen-progress .gp-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;animation:pdlSpin .8s linear infinite;margin:0 auto 10px}



/* ========== DASHBOARD ========== */
.dash-layout{display:flex;gap:24px;min-height:60vh}
.dash-sidebar{width:220px;flex-shrink:0;background:#fff;border-radius:16px;padding:12px;box-shadow:var(--shadow);align-self:flex-start;position:sticky;top:90px}
.dash-toggle{display:none;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;font-weight:700;font-size:.9rem;color:var(--primary);cursor:pointer;align-items:center;gap:10px}
.ds-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;cursor:pointer;transition:.15s;font-size:.88rem;font-weight:600;color:var(--text-muted)}
.ds-item:hover{background:var(--bg);color:var(--text)}
.ds-item.active{background:var(--primary);color:#fff}
.ds-item i{width:20px;text-align:center}
.ds-divider{height:1px;background:var(--border);margin:8px 0}
.dash-panel{display:none}
.dash-panel.active{display:block;animation:fadeIn .35s ease}
/* 智能客服面板：字段标签加深（白卡上更清晰），小字提示保持浅灰（它们是 div 不受影响） */
#dashService label{color:var(--text)!important}
.dash-content{flex:1;min-width:0}

/* 统计卡片 */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.stat-card{background:#fff;border-radius:14px;padding:20px;box-shadow:var(--shadow);display:flex;align-items:center;gap:14px}
.stat-card .s-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff}
.stat-card .s-info{flex:1}
.stat-card .s-label{font-size:.78rem;color:var(--text-muted);font-weight:500}
.stat-card .s-val{font-size:1.4rem;font-weight:800;color:var(--text)}

/* 域名常驻显示条 */
.domain-bar{background:linear-gradient(135deg,#1e4a7a 0%,#2563eb 100%);border-radius:14px;padding:16px 20px;margin-bottom:20px;display:flex;align-items:center;gap:16px;color:#fff;box-shadow:0 4px 20px rgba(30,74,122,.25)}
.domain-bar-icon{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.domain-bar-info{flex:1;min-width:0}
.domain-bar-label{font-size:.75rem;opacity:.85;margin-bottom:4px;font-weight:500}
.domain-bar-value{font-size:1.15rem;font-weight:800;word-break:break-all;letter-spacing:.3px}
.domain-bar-actions{display:flex;gap:8px;flex-shrink:0}
.domain-bar .btn{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.15);backdrop-filter:blur(4px)}
.domain-bar .btn:hover{background:rgba(255,255,255,.25)}
.domain-bar .btn-primary{background:#fff;color:#1e4a7a;border-color:#fff}
.domain-bar .btn-primary:hover{background:#f0f0f0}

/* 预览卡片 */
.preview-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}
.preview-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center;cursor:pointer;transition:.2s}
.preview-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.preview-card .p-icon{width:48px;height:48px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:1.3rem;color:var(--primary)}
.preview-card .p-name{font-weight:700;font-size:.85rem}

/* 内容管理 */
.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.content-card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 1px 3px rgba(0,0,0,.04);border:1px solid #eef2f6;transition:.2s;display:flex;flex-direction:column;gap:10px}
.content-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.content-card .cc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.content-card .cc-status{font-size:.7rem;font-weight:600;padding:2px 10px;border-radius:10px;color:#fff}
.content-card .cc-date{font-size:.72rem;color:#94a3b8}
.content-card .c-title{font-weight:700;font-size:.95rem;line-height:1.4}
.content-card .c-summary{font-size:.82rem;color:#64748b;line-height:1.5;flex:1}
.content-card .cc-bottom{display:flex;align-items:center;gap:12px;font-size:.72rem;color:#94a3b8;padding-top:10px;border-top:1px solid #f1f5f9}
.content-card .cc-page-status{display:flex;align-items:center;gap:4px}
.content-card .cc-partner{display:flex;align-items:center;gap:4px}
.content-card .cc-actions{display:flex;gap:6px;flex-wrap:wrap}
.content-panel{display:none}
.content-panel.active{display:block}
/* 内容卡片按钮样式简化 */
.content-card .btn-sm{padding:5px 12px;font-size:.76rem;border-radius:18px}
.content-card .btn-primary{background:var(--primary);color:#fff}
.content-card .btn-primary:hover{background:var(--primary-dark)}
.content-card .btn-primary-outline{background:transparent;border:1px solid var(--primary);color:var(--primary)}
.content-card .btn-primary-outline:hover{background:var(--primary-bg)}
.content-card .btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-muted)}
.content-card .btn-outline:hover{border-color:var(--primary);color:var(--primary)}
.content-card .btn-ghost{background:transparent;color:var(--text-muted)}
.content-card .btn-ghost:hover{background:#f1f5f9;color:var(--text)}

/* 案例管理 */
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.case-card{background:#fff;border-radius:14px;padding:16px;box-shadow:var(--shadow);display:flex;gap:14px;align-items:flex-start}
.case-card .c-logo{width:48px;height:48px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}

/* 智能客服 */
.persona-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.persona-card{padding:16px;background:#fff;border-radius:12px;border:2px solid var(--border);cursor:pointer;text-align:center;transition:.2s}
.persona-card.active,.persona-card:hover{border-color:var(--primary);background:var(--primary-bg)}
.faq-table{width:100%;border-collapse:collapse;font-size:.85rem}
.faq-table th{background:var(--bg);padding:10px 12px;text-align:left;font-weight:700;color:var(--text-muted)}
.faq-table td{padding:10px 12px;border-bottom:1px solid var(--border)}

/* 小程序模拟 */
.phone-mock{width:320px;margin:0 auto;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.12);border:8px solid #1a1a2e}
.phone-mock .pm-header{background:var(--primary);color:#fff;padding:16px;display:flex;justify-content:space-between;align-items:center}
.phone-mock .pm-tabs{display:flex;background:#f1f1f1}
.phone-mock .pm-tab{flex:1;padding:8px;text-align:center;font-size:.7rem;font-weight:600;color:var(--text-muted);cursor:pointer}
.phone-mock .pm-tab.active{color:var(--primary);border-bottom:2px solid var(--primary)}
.phone-mock .pm-body{padding:14px;min-height:300px}
.mini-panel{display:none}
.mini-panel.active{display:block}

/* ========== 单页生成 ========== */
.sp-tabs{display:flex;gap:0;margin-bottom:24px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.sp-tab{flex:1;padding:14px 20px;text-align:center;font-weight:700;font-size:.9rem;cursor:pointer;transition:.15s;color:var(--text-muted);border-bottom:3px solid transparent}
.sp-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:#f8faff}
.sp-tab:hover:not(.active){background:var(--bg)}
.sp-panel{display:none}
.sp-panel.active{display:block}

/* 生成单页面板 */
.gen-panel{display:none}
.gen-panel.active{display:block}

/* 一句话生成输入 */
.gen-input-area{background:#fff;border-radius:16px;padding:24px;box-shadow:var(--shadow);margin-bottom:20px}
.gen-input-area .ctx-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ctx-badge{background:var(--primary-light);color:var(--primary);padding:5px 12px;border-radius:8px;font-size:.78rem;font-weight:600;border:1px solid var(--primary);display:flex;align-items:center;gap:5px}
.ctx-badge i{color:var(--success)}
.gen-input-area textarea{width:100%;padding:14px;border:1.5px solid var(--border);border-radius:12px;font-size:.9rem;min-height:80px;resize:both;transition:.2s}
.gen-input-area textarea:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px var(--primary-light)}
.gen-examples{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.gen-example{background:var(--bg);padding:6px 14px;border-radius:16px;font-size:.78rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:.15s;border:1px solid var(--border)}
.gen-example:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.gen-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}

/* 迭代修改 */
.iter-area{background:#fff7ed;border:1.5px dashed #f59e0b;border-radius:14px;padding:18px;margin-top:20px}
.iter-area .ia-label{font-weight:700;font-size:.9rem;color:#92400e;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.iter-area textarea{width:100%;padding:10px 14px;border:1.5px solid #fed7aa;border-radius:10px;font-size:.85rem;min-height:56px;resize:both;transition:.2s}
.iter-area textarea:focus{border-color:var(--warning);box-shadow:0 0 0 3px rgba(245,158,11,.12)}

/* 发布弹窗 */
.publish-option{display:flex;align-items:center;gap:12px;padding:14px;border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:.15s;margin-bottom:10px}
.publish-option.active{border-color:var(--primary);background:var(--primary-bg)}
.publish-option input[type=radio]{accent-color:var(--primary);width:18px;height:18px}
.publish-result{text-align:center;padding:20px}
.publish-result .qr-placeholder{width:140px;height:140px;background:var(--bg);border-radius:12px;margin:16px auto;display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--text-light);border:2px dashed var(--border)}

/* 生成进度 */
.gen-progress{text-align:center;padding:40px}
.gen-spinner{width:56px;height:56px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}
.gen-log{max-width:400px;margin:16px auto 0;text-align:left}
.gen-log .log-line{padding:6px 0;display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--text-muted);animation:logFade .3s ease}

/* AI 内容生成加载动画 */
.ai-loading-wrap{text-align:center;padding:20px 0 10px}
.ai-loading-spinner{position:relative;width:90px;height:90px;margin:0 auto 18px}
.ai-loading-ring{position:absolute;inset:0;border:3px solid #e2e8f0;border-top-color:var(--primary);border-right-color:var(--primary);border-radius:50%;animation:aiSpin 1s linear infinite}
.ai-loading-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:var(--primary);animation:aiPulse 1.5s ease-in-out infinite}
@keyframes aiSpin{to{transform:rotate(360deg)}}
@keyframes aiPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}
.ai-loading-title{font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:6px}
.ai-loading-desc{font-size:.82rem;color:var(--text-muted);margin-bottom:18px}
.ai-loading-steps{display:flex;flex-direction:column;gap:10px;text-align:left;max-width:300px;margin:0 auto 16px}
.ai-loading-step{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--text-muted);opacity:.5;transition:all .3s}
.ai-loading-step.active{opacity:1;color:var(--text);font-weight:600}
.ai-loading-step.done{opacity:.8;color:var(--success)}
.ai-loading-step .step-dot{width:22px;height:22px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s}
.ai-loading-step.active .step-dot{background:var(--primary);box-shadow:0 0 0 4px rgba(30,74,122,.15);animation:aiDotPulse 1.2s ease-in-out infinite}
.ai-loading-step.done .step-dot{background:var(--success)}
.ai-loading-step.done .step-dot::after{content:'✓';color:#fff;font-size:.7rem;font-weight:700}
@keyframes aiDotPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.ai-loading-log{background:#f8fafc;border-radius:8px;padding:10px 14px;text-align:left;max-height:100px;overflow-y:auto;font-size:.75rem;color:var(--text-muted);line-height:1.7}
.ai-loading-log .log-item{animation:logFade .3s ease}
.ai-loading-log .log-item.success{color:var(--success)}
.ai-loading-log .log-item.error{color:var(--danger)}
.ai-loading-log .log-item.info{color:var(--primary)}
/* 生成按钮加载状态 */
.ai-gen-btn.loading{pointer-events:none;opacity:.85}
.ai-gen-btn.loading i{animation:aiSpin 1s linear infinite}

/* PRD参考标签 */

/* 单页列表（我的单页管理） */
.sp-list{display:flex;flex-direction:column;gap:14px}
.sp-list-item{background:#fff;border-radius:14px;padding:18px 22px;box-shadow:var(--shadow);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.sp-list-item .spli-info{flex:1;min-width:200px}
.sp-list-item .spli-name{font-weight:700;font-size:.95rem;display:flex;align-items:center;gap:8px}
.sp-list-item .spli-meta{font-size:.78rem;color:var(--text-muted);margin-top:4px;display:flex;gap:14px;flex-wrap:wrap}
.sp-list-item .spli-stats{font-size:.78rem;color:var(--text-muted)}
.sp-list-item .spli-status{font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:12px}
.spli-status.published{background:#d1fae5;color:#065f46}
.spli-status.draft{background:#fef3c7;color:#92400e}

/* 品牌配置表单（网站预览面板） */
.brand-form label{display:block;font-weight:600;font-size:.85rem;color:var(--text-muted);margin-bottom:4px;margin-top:12px}
.brand-form input,.brand-form textarea,.brand-form select{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:10px;transition:.2s}
.brand-form input:focus,.brand-form textarea:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px rgba(59,130,246,.12)}

/* ========== 响应式 ========== */
@media(max-width:1024px){
  .cap-grid,.ind-grid,.prod-grid,.mk-grid,.case-grid,.content-grid,.stat-grid,.preview-cards{grid-template-columns:repeat(2,1fr)}
  .upgrade-grid{grid-template-columns:repeat(2,1fr)}
  .persona-grid{grid-template-columns:repeat(2,1fr)}
  .quest-grid{grid-template-columns:1fr}
  .dash-sidebar{width:60px;overflow:hidden}
  .dash-sidebar .ds-item span{display:none}
  .dash-sidebar .ds-item{justify-content:center;padding:12px}
  .dash-sidebar .ds-item i{margin:0}
  .domain-bar{flex-wrap:wrap;gap:10px;padding:14px 16px}
  .domain-bar-actions{width:100%;justify-content:flex-end}
}
@media(max-width:640px){
  .container,.nav-inner,.footer-inner{padding:0 14px}
  .top-nav{height:56px}
  .nav-brand{font-size:1.05rem;gap:6px}
  .nav-brand .brand-logo{width:30px;height:30px;border-radius:8px;font-size:.95rem}
  .nav-toggle{display:inline-flex}
  .nav-inner{position:relative}
  .nav-tabs{position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;max-height:0;overflow:hidden;transition:max-height .25s ease;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:99;border-top:1px solid var(--border)}
  .nav-inner.nav-open .nav-tabs{max-height:300px;padding:8px 14px}
  .nav-tab{width:100%;text-align:left;padding:10px 14px;flex-shrink:0;font-size:.88rem}
  .nav-right{gap:8px}
  #membershipBadge{display:none!important}
  .btn-upgrade{padding:6px 10px;font-size:.8rem}
  .user-company-label{max-width:90px;font-size:.78rem;padding:4px 8px}
  .avatar{width:32px;height:32px;font-size:.85rem}
  .view{padding:20px 0 48px}
  .view-title{font-size:1.3rem;gap:8px}
  .view-subtitle{font-size:.88rem;margin-bottom:20px}
  .section-title{font-size:1.05rem;margin:24px 0 14px}
  .welcome-hero{padding:36px 0 28px}
  .welcome-hero h1{font-size:1.6rem}
  .welcome-hero p{font-size:.95rem;padding:0 12px}
  .hero-cta{flex-direction:column;align-items:center}
  .hero-btn{padding:12px 26px;font-size:.98rem}
  .cap-grid,.ind-grid,.prod-grid,.mk-grid,.case-grid,.content-grid,.stat-grid,.preview-cards{grid-template-columns:1fr}
  .upgrade-grid{grid-template-columns:1fr}
  .quest-grid,.pages-checklist{grid-template-columns:1fr}
  .wizard-progress{flex-direction:column;align-items:stretch}
  .wiz-step{min-width:0}
  .dash-layout{flex-direction:column}
  .dash-sidebar{width:100%;position:static;padding:12px}
  .dash-toggle{display:flex}
  .dash-menu{max-height:0;overflow:hidden;transition:max-height .25s ease;margin-top:8px}
  .dash-sidebar.dash-open .dash-menu{max-height:420px}
  .dash-sidebar .ds-item{padding:11px 14px;font-size:.88rem}
  .dash-sidebar .ds-item span{display:inline}
  .dash-sidebar .ds-divider{display:block}
  .wiz-footer{flex-direction:column;gap:10px}
  .domain-bar{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}
  .domain-bar-icon{width:36px;height:36px;font-size:1rem}
  .domain-bar-value{font-size:.98rem}
  .domain-bar-actions{width:100%;justify-content:flex-end}
  .card-block{padding:18px 16px}
  .modal{max-width:100%;max-height:90vh;border-radius:14px;min-width:min(480px,100%)}
  .modal-header,.modal-body,.modal-footer{padding:16px}
  .modal-header h2{font-size:1.05rem}
  .toast-container{top:64px;right:14px;left:14px}
  .toast{max-width:none}
  .footer-links{gap:16px;flex-wrap:wrap}
  .footer-copyright{flex-direction:column;gap:6px;text-align:center}
  .faq-table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .sp-list-item{flex-direction:column;align-items:flex-start;gap:10px}
  .sp-list-item .spli-info{width:100%}
}
@media(max-width:380px){
  .nav-brand span{display:none}
  .btn-upgrade span,.btn-upgrade{font-size:0}
  .btn-upgrade i{font-size:.9rem}
  .user-company-label{max-width:70px}
}

/* ========== 扩展页面样式 ========== */
.navbar{background:var(--primary);color:#fff;padding:0;position:sticky;top:0;z-index:100;border-bottom:3px solid var(--primary-light)}
.navbar .container{display:flex;justify-content:space-between;align-items:center;height:64px}
.navbar .logo{font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:8px;color:#fff}
.navbar .logo i{font-size:1.3rem}
.navbar nav{display:flex;gap:4px;align-items:center}
.navbar nav a{padding:8px 16px;border-radius:6px;text-decoration:none;color:rgba(255,255,255,.8);font-weight:500;font-size:.85rem;transition:.2s}
.navbar nav a:hover{color:#fff;background:rgba(255,255,255,.12)}
.navbar nav a.active{color:#fff;background:rgba(255,255,255,.2)}
.page-header{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;padding:40px 0 28px;margin-bottom:32px}
.page-header h1{font-size:2rem;font-weight:700;display:flex;align-items:center;gap:12px}
.page-header p{opacity:.85;margin-top:6px;font-size:1rem}
.card{background:#fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);margin-bottom:20px}
.search-box{display:flex;gap:12px;flex-wrap:wrap}
.search-box input{flex:1;min-width:200px;padding:12px 18px;border:2px solid #e2e8f0;border-radius:10px;font-size:.95rem;outline:none;transition:.2s}
.search-box input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.12)}
.search-box button{padding:12px 32px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:.2s}
.search-box button:hover{background:var(--primary-dark);transform:translateY(-1px)}
.search-box .btn-clear{background:#e2e8f0;color:#475569}
.search-box .btn-clear:hover{background:#cbd5e1;transform:none}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}
.result-item{border:1px solid #eef2f6;border-radius:10px;padding:18px;transition:.2s}
.result-item:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(0,0,0,.04)}
.result-item .status{display:inline-block;padding:2px 12px;border-radius:20px;font-size:.75rem;font-weight:600}
.status.valid{background:#d1fae5;color:#065f46}
.status.warning{background:#fef3c7;color:#92400e}
.status.invalid{background:#fee2e2;color:#991b1b}
.result-item h4{font-weight:600;font-size:1rem;margin:6px 0 4px;color:#0f172a}
.result-item .meta{font-size:.82rem;color:#64748b;display:flex;gap:16px;flex-wrap:wrap}
.result-item .meta span{display:flex;align-items:center;gap:4px}
.no-result{text-align:center;padding:40px;color:#94a3b8}
.no-result i{font-size:3rem;display:block;margin-bottom:12px;opacity:.4}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-weight:600;font-size:.9rem;color:#334155;margin-bottom:5px}
.form-group select{width:100%;padding:10px 14px;border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;outline:none;transition:.2s;background:#fff}
.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.12)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.result-box{background:linear-gradient(135deg,var(--primary-light),var(--primary));border-radius:var(--radius);padding:24px;text-align:center;border:2px solid var(--primary)}
.result-box .big-number{font-size:3.5rem;font-weight:800;color:var(--primary);display:block}
.result-box .label{font-size:1rem;color:#334155;margin-top:4px}
.result-box .sub-info{color:#64748b;font-size:.85rem;margin-top:8px}
.btn-calc{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-weight:700;font-size:1rem;cursor:pointer;transition:.2s}
.btn-calc:hover{background:var(--primary-dark);transform:translateY(-1px)}
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.filter-tabs button{padding:6px 18px;border-radius:20px;border:2px solid #e2e8f0;background:#fff;font-weight:600;font-size:.82rem;cursor:pointer;transition:.2s}
.filter-tabs button:hover{border-color:var(--primary);color:var(--primary)}
.filter-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.standard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.standard-card{border:1px solid #eef2f6;border-radius:10px;padding:16px 18px;transition:.2s}
.standard-card:hover{border-color:var(--primary);box-shadow:0 4px 12px rgba(0,0,0,.04)}
.standard-card .code{display:inline-block;background:var(--primary-light);color:var(--primary);padding:2px 10px;border-radius:6px;font-size:.75rem;font-weight:700}
.standard-card h4{font-weight:600;font-size:.95rem;margin:6px 0 4px}
.standard-card p{font-size:.82rem;color:#64748b}
.standard-card .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.standard-card .tags span{font-size:.65rem;background:#f1f5f9;padding:2px 8px;border-radius:4px;color:#64748b}
.footer{background:#0f172a;color:#94a3b8;padding:24px 0;text-align:center;font-size:.85rem;margin-top:40px}
@media(max-width:768px){
  .result-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .standard-grid{grid-template-columns:1fr}
  .hp-adv-grid,.hp-prod-grid{grid-template-columns:repeat(2,1fr)}
  .hp-partner-grid{grid-template-columns:repeat(3,1fr)}
  .hp-news-grid,.hp-contact-grid{grid-template-columns:1fr}
  .hp-nav{position:relative;flex-wrap:wrap;padding:10px 14px}
  .hp-nav-toggle{display:inline-flex}
  .hp-nav .hp-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;max-height:0;overflow:hidden;transition:max-height .25s ease;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:99;border-top:1px solid #e2e8f0}
  .hp-nav.hp-nav-open .hp-links{max-height:240px;padding:8px 14px}
  .hp-nav .hp-links a{width:100%;padding:10px 14px;white-space:nowrap}
  .navbar .container{flex-wrap:wrap;height:auto;padding:10px 14px;gap:8px}
  .navbar nav{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .navbar nav a{white-space:nowrap;flex-shrink:0}
}
@media(max-width:480px){
  .hp-adv-grid,.hp-prod-grid,.hp-partner-grid{grid-template-columns:1fr}
  .hp-mini-grid{grid-template-columns:1fr 1fr}
  .page-header h1{font-size:1.5rem}
  .page-header{padding:28px 0 20px}
  .card{padding:16px}
  .search-box input{min-width:0;width:100%}
  .search-box button{width:100%}
  .search-box{flex-direction:column}
}
        