/* ============================================================
   落地页系统 v2.0 - 完整样式
   ============================================================ */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif; color:#333; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:#4361ee; text-decoration:none; }
a:hover { text-decoration:underline; }
.container { max-width:1100px; margin:0 auto; padding:0 20px; }

/* Header */
.site-header { background:#fff; border-bottom:1px solid #e8eaef; padding:14px 0; position:sticky; top:0; z-index:100; }
.site-header .container { display:flex; justify-content:space-between; align-items:center; }
.logo { font-size:1.25rem; font-weight:700; color:#1a1a2e; }
.site-header nav a { color:#555; margin-left:24px; font-size:0.9rem; }
.site-header nav a:hover { color:#4361ee; }
.header-cta { background:#ff6b35; color:#fff; padding:6px 16px; border-radius:20px; font-size:0.8rem; font-weight:600; }

/* Hero */
.hero { padding:80px 0 60px; text-align:center; background:linear-gradient(135deg,#f8f9ff,#eef1ff); }
.hero h1 { font-size:2.2rem; color:#1a1a2e; margin-bottom:16px; font-weight:700; }
.hero-sub { font-size:1.1rem; color:#666; max-width:600px; margin:0 auto 32px; }
.hero-info { max-width:600px; margin:0 auto; color:#777; font-size:0.95rem; }
.hero-info p { margin-bottom:8px; }
.section { padding:60px 0; }
.section h2 { text-align:center; font-size:1.6rem; margin-bottom:40px; color:#1a1a2e; }

/* Service Grid */
.service-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
.service-card { background:#f8f9ff; padding:32px 24px; border-radius:10px; text-align:center; }
.service-card:hover { transform:translateY(-2px); box-shadow:0 4px 16px rgba(67,97,238,0.08); }
.card-icon { font-size:2.4rem; margin-bottom:16px; }
.service-card h3 { font-size:1.1rem; margin-bottom:8px; }
.service-card p { color:#777; font-size:0.9rem; }
.contact-section { background:#f5f7fa; }
.contact-desc { text-align:center; color:#888; margin-bottom:32px; }
.contact-form { max-width:500px; margin:0 auto; }

/* Form */
.form-group { margin-bottom:16px; }
.form-group input,.form-group textarea,.form-group select { width:100%; padding:12px 14px; border:1px solid #dde0e6; border-radius:8px; font-size:0.95rem; transition:border-color .2s; outline:none; font-family:inherit; }
.form-group input:focus,.form-group textarea:focus,.form-group select:focus { border-color:#4361ee; box-shadow:0 0 0 3px rgba(67,97,238,0.1); }
.form-group textarea { resize:vertical; min-height:80px; }
.form-group label { display:block; margin-bottom:6px; font-size:0.9rem; color:#555; font-weight:500; }
.btn { display:inline-block; padding:12px 28px; background:#4361ee; color:#fff; border:none; border-radius:8px; font-size:1rem; font-weight:600; cursor:pointer; transition:background .2s; font-family:inherit; text-decoration:none; }
.btn:hover { background:#3651d4; text-decoration:none; }
.btn-block { width:100%; }
.form-tip { text-align:center; color:#999; font-size:0.8rem; margin-top:12px; }
.required { color:#e74c3c; }
.site-footer { background:#1a1a2e; color:#888; padding:24px 0; text-align:center; font-size:0.85rem; }

/* B version */
.b-header .header-cta { background:#ff6b35; color:#fff; }
.b-hero { background:linear-gradient(135deg,#1a1a2e,#16213e); color:#fff; padding:80px 0 60px; text-align:center; }
.b-hero .b-hero-badge { display:inline-block; background:#ff6b35; padding:4px 14px; border-radius:20px; font-size:0.8rem; font-weight:600; margin-bottom:20px; animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.7} }
.b-hero h1 { font-size:2.4rem; margin-bottom:12px; font-weight:800; }
.b-hero-sub { font-size:1.15rem; color:rgba(255,255,255,.8); margin-bottom:32px; }
.b-hero-stats { display:flex; justify-content:center; gap:40px; margin-bottom:36px; }
.stat-item { text-align:center; }
.stat-num { display:block; font-size:1.6rem; font-weight:800; color:#4ecdc4; }
.stat-label { font-size:0.85rem; color:rgba(255,255,255,.7); }
.b-btn-primary { background:#ff6b35; font-size:1.05rem; padding:14px 40px; }
.b-btn-primary:hover { background:#e55d2b; }
.b-trust { padding:60px 0; background:#fff; }
.b-trust h2 { text-align:center; margin-bottom:40px; }
.trust-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.trust-item { text-align:center; padding:24px; border-radius:10px; background:#f8f9ff; }
.trust-icon { font-size:2rem; margin-bottom:12px; }
.trust-item h3 { font-size:1rem; margin-bottom:8px; }
.trust-item p { color:#777; font-size:0.85rem; }
.b-form-section { padding:60px 0; background:linear-gradient(135deg,#f8f9ff,#eef1ff); }
.b-form-section h2 { text-align:center; margin-bottom:12px; }
.b-form-desc { text-align:center; color:#888; margin-bottom:32px; }
.b-form { max-width:600px; margin:0 auto; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:600px){.form-row{grid-template-columns:1fr}}
.b-form select { width:100%; }
.b-form-protocol { text-align:center; color:#999; font-size:0.8rem; margin-top:10px; }
.b-cases { padding:60px 0; }
.b-cases h2 { text-align:center; margin-bottom:32px; }
.cases-list { max-width:600px; margin:0 auto; }
.case-item { display:flex; gap:16px; padding:20px; background:#f8f9fb; border-radius:10px; margin-bottom:16px; }
.case-avatar { width:48px; height:48px; background:#4361ee; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:600; flex-shrink:0; }
.case-info h4 { font-size:.95rem; margin-bottom:4px; }
.case-info p { font-size:.85rem; color:#666; margin-bottom:6px; }
.case-tag { display:inline-block; background:#e8f4e8; color:#27ae60; padding:2px 10px; border-radius:4px; font-size:.75rem; font-weight:600; }
.b-footer p:first-child { color:#aaa; font-size:.8rem; margin-bottom:8px; }

/* CID Page */
.cid-page { display:flex; align-items:center; justify-content:center; min-height:100vh; background:#f5f7fa; }
.cid-loading { text-align:center; }
.cid-spinner { width:40px; height:40px; border:4px solid #e8eaef; border-top-color:#4361ee; border-radius:50%; animation:spin .8s linear infinite; margin:0 auto 20px; }
@keyframes spin { to { transform:rotate(360deg) } }
.cid-loading p { color:#999; }
.cid-id { font-size:.75rem; color:#dde0e6; margin-top:8px; }

/* Progressive */
.progressive-page { background:#f5f7fa; }
.progressive-section { padding:40px 0; }
.step-progress { display:flex; align-items:center; justify-content:center; margin-bottom:48px; }
.step-dot { width:36px; height:36px; border-radius:50%; background:#dde0e6; color:#999; display:flex; align-items:center; justify-content:center; font-size:.85rem; font-weight:700; transition:all .3s; }
.step-dot.active { background:#4361ee; color:#fff; box-shadow:0 0 0 3px rgba(67,97,238,.2); }
.step-line { width:60px; height:3px; background:#dde0e6; margin:0 8px; border-radius:2px; transition:background .3s; }
.step-line.active { background:#4361ee; }
.step-content { display:none; animation:fadeIn .4s ease; }
.step-content.active { display:block; }
@keyframes fadeIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.step-header { text-align:center; margin-bottom:32px; }
.step-header h2 { font-size:1.5rem; color:#1a1a2e; margin-bottom:8px; }
.step-subtitle { color:#888; }
.progressive-article { background:#fff; border-radius:12px; padding:32px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.progressive-article h3 { font-size:1.2rem; margin-bottom:16px; }
.progressive-article p { color:#555; margin-bottom:16px; line-height:1.8; }
.article-block { margin-bottom:24px; padding:20px; background:#f8f9ff; border-radius:8px; border-left:3px solid #4361ee; }
.article-block h4 { font-size:1rem; margin-bottom:8px; }
.hidden-content { display:none; }
.hidden-content.visible { display:block; }
.highlight-text { color:#e67e22; font-weight:500; }
.read-more-trigger { text-align:center; padding:16px; background:linear-gradient(135deg,#4361ee,#3a56d4); color:#fff; border-radius:8px; cursor:pointer; font-weight:600; margin-top:20px; }
.read-more-trigger:hover { background:#3651d4; }
.arrow-down { display:inline-block; margin-left:8px; font-size:1.2rem; }
.case-card { background:#fff; border-radius:12px; padding:28px; margin-bottom:20px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.case-card h3 { font-size:1.1rem; margin-bottom:12px; }
.case-card p { color:#555; margin-bottom:12px; }
.case-card ul { padding-left:20px; margin-bottom:12px; }
.case-card li { color:#555; margin-bottom:6px; }
.next-hint { text-align:center; padding:18px; background:linear-gradient(135deg,#ff6b35,#e55d2b); color:#fff; border-radius:8px; cursor:pointer; font-weight:600; }
.next-hint:hover { opacity:.9; }
.progressive-form { max-width:500px; margin:0 auto; background:#fff; border-radius:12px; padding:32px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.fade-in { animation:fadeIn .5s ease forwards; opacity:0; }
.delay-1 { animation-delay:.2s; }
.delay-2 { animation-delay:.4s; }
.delay-3 { animation-delay:.6s; }
.success-msg { text-align:center; padding:40px 20px; }
.success-msg h3 { font-size:1.3rem; color:#27ae60; margin-bottom:12px; }
.success-msg p { color:#666; }
.success-large { padding:60px 20px; }

/* WeChat page */
.wechat-hero { background:linear-gradient(135deg,#07c160,#06ad58); color:#fff; text-align:center; padding:48px 0 40px; }
.wechat-badge { display:inline-block; background:rgba(255,255,255,.2); padding:4px 14px; border-radius:20px; font-size:.8rem; margin-bottom:16px; }
.wechat-hero h1 { font-size:2rem; margin-bottom:8px; }
.wechat-subtitle { font-size:1rem; opacity:.9; }
.wechat-main { padding:40px 0; }
.wechat-card { background:#fff; border-radius:16px; padding:32px; box-shadow:0 2px 12px rgba(0,0,0,.06); margin-bottom:24px; }
.qrcode-area { display:flex; gap:32px; align-items:center; justify-content:center; flex-wrap:wrap; margin-bottom:32px; }
.qrcode-sim { width:160px; height:160px; background:#fff; border:3px solid #333; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:12px; border-radius:8px; }
.qr-inner { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-bottom:12px; }
.qr-dot { width:16px; height:16px; background:#333; border-radius:2px; }
.qr-dot:nth-child(2){width:24px;height:24px}
.qr-dot:nth-child(3){width:24px;height:24px}
.qr-dot:nth-child(4){background:#07c160;border-radius:50%}
.qr-tip { font-size:.75rem; color:#999; }
.qrcode-info { text-align:center; }
.qrcode-info h3 { font-size:1.1rem; margin-bottom:8px; }
.wechat-id { color:#666; margin-bottom:8px; }
.btn-copy { background:#07c160; margin-top:12px; }
.btn-copy:hover { background:#06ad58; }
.btn-copy.copied { background:#27ae60; }
.service-benefits { max-width:400px; margin:0 auto; }
.service-benefits h3 { text-align:center; margin-bottom:16px; font-size:1rem; }
.service-benefits ul { list-style:none; }
.service-benefits li { padding:10px 0; border-bottom:1px solid #f0f0f0; font-size:.9rem; color:#555; }
.check-mark { color:#07c160; font-weight:700; margin-right:8px; }
.wechat-alt-form { max-width:500px; margin:0 auto; background:#fff; border-radius:16px; padding:28px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.wechat-alt-form h3 { text-align:center; margin-bottom:4px; }
.wechat-alt-form > p { text-align:center; color:#888; font-size:.85rem; margin-bottom:20px; }
.wechat-process { padding:0 0 40px; }
.wechat-process h2 { text-align:center; margin-bottom:32px; font-size:1.3rem; }
.process-steps { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
.process-item { text-align:center; background:#fff; padding:20px 24px; border-radius:10px; box-shadow:0 1px 4px rgba(0,0,0,.04); min-width:130px; }
.process-num { width:32px; height:32px; background:#07c160; color:#fff; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:.85rem; font-weight:700; margin-bottom:10px; }
.process-item h4 { font-size:.9rem; margin-bottom:4px; }
.process-item p { font-size:.8rem; color:#888; }
.process-arrow { font-size:1.4rem; color:#dde0e6; font-weight:300; }
@media(max-width:600px){.process-steps{flex-direction:column}.process-arrow{transform:rotate(90deg)}}

/* Admin Dashboard */
.dashboard-page { background:#f5f7fa;min-height:100vh; }
.dashboard-header { background:#1a1a2e; color:#fff; padding:20px 0; }
.dashboard-header h1 { font-size:1.4rem; margin:0; }
.dashboard-header .container { display:flex; justify-content:space-between; align-items:center; }
.stats-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin:24px 0; }
.stat-card { background:#fff; border-radius:8px; padding:20px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.stat-card h3 { font-size:.85rem; color:#666; margin:0 0 8px; }
.stat-card .num { font-size:2rem; font-weight:700; color:#1a1a2e; }
.data-table-wrap { background:#fff; border-radius:8px; padding:16px; box-shadow:0 1px 4px rgba(0,0,0,.06); overflow-x:auto; }
.data-table { width:100%; border-collapse:collapse; font-size:.85rem; }
.data-table th { background:#f8f9fb; padding:10px 12px; text-align:left; font-weight:600; color:#444; border-bottom:2px solid #e8eaef; white-space:nowrap; }
.data-table td { padding:10px 12px; border-bottom:1px solid #eee; color:#333; font-size:.8rem; }
.data-table tr:hover td { background:#f8f9ff; }
.badge-type { display:inline-block; padding:2px 8px; border-radius:4px; font-size:.7rem; background:#e8f4f8; color:#1a7a9a; }
.empty-state { text-align:center; padding:60px; color:#999; }
.refresh-btn { background:#4361ee; color:#fff; border:none; padding:8px 16px; border-radius:6px; cursor:pointer; font-size:.85rem; }
.refresh-btn:hover { background:#3651d4; }

/* Responsive */
@media(max-width:768px) {
  .hero h1,.b-hero h1 { font-size:1.6rem; }
  .b-hero-stats { gap:20px; }
  .stat-num { font-size:1.2rem; }
  .qrcode-area { flex-direction:column; }
}
