:root{--bg:#0f172a;--fg:#e2e8f0;--muted:#94a3b8;--accent:#38bdf8;--card:#111827;--border:#1f2937;--header:#0b1220}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
.app-header,.app-footer,body,.card,.input,.btn{transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--header);border-bottom:1px solid var(--border)}
.app-header h1{margin:0;font-size:26px;font-weight:900;letter-spacing:1px;color:var(--accent);-webkit-text-stroke:1px #00d5ff;text-shadow:0 3px 0 rgba(0,213,255,.75)}
body.light .app-header h1{color:#000000}
.nav{display:flex;flex-wrap:wrap;gap:8px}
.nav a{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:9999px;border:1px solid var(--border);background:rgba(148,163,184,.08);color:var(--fg);text-decoration:none;transition:background-color .15s ease,border-color .15s ease,transform .08s ease}
.nav a:hover{border-color:var(--accent);transform:translateY(-1px)}
.nav .pin-toggle-btn{padding:4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;border:1px solid var(--border);background:rgba(148,163,184,.12);color:var(--fg);cursor:pointer}
.nav .pin-toggle-btn:hover{border-color:var(--accent)}
.app-header.pinned{position:sticky;top:0;z-index:999;background:var(--bg);box-shadow:0 6px 18px rgba(2,6,23,.12)}
.app-header.pinned .nav{padding:6px 0}
.app-main{padding:16px;padding-bottom:72px}
.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.card{overflow-x:auto}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
/* 落地页结构与动效 */
.landing-hero{background:linear-gradient(135deg, rgba(56,189,248,.20), rgba(99,102,241,.20));}
.landing-page .reveal{opacity:0;transform:translateY(8px);transition:opacity .25s ease, transform .25s ease}
.landing-page .reveal.show{opacity:1;transform:none}
.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.landing-grid .lg-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:12px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(135deg, rgba(148,163,184,.12), rgba(148,163,184,.20));cursor:pointer;transition:transform .08s ease, box-shadow .15s ease}
.landing-grid .lg-item:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.25)}
.lg-item .lg-title{font-weight:700}
.lg-item[aria-expanded="true"]{background:linear-gradient(135deg, rgba(56,189,248,.18), rgba(99,102,241,.18))}
.flow-line{color:var(--muted);font-weight:600}
.pricing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.pricing-card{position:relative;border:1px solid var(--border);border-radius:12px;padding:12px;background:linear-gradient(135deg, rgba(148,163,184,.12), rgba(148,163,184,.20));box-shadow:0 6px 16px rgba(0,0,0,.25);transition:transform .08s ease, box-shadow .15s ease}
.pricing-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.28)}
.pricing-card.reco{border-color:var(--accent);box-shadow:0 10px 22px rgba(56,189,248,.25);transform:translateY(-2px)}
.pricing-card .pc-tag{position:absolute;left:10px;top:10px;background:rgba(148,163,184,.25);color:var(--fg);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}
.pricing-card .pc-tag.reco{background:linear-gradient(135deg, rgba(56,189,248,.30), rgba(99,102,241,.30));color:#0f172a}
.pricing-card .pc-head{font-weight:800}
.pricing-card .pc-price{font-size:18px;font-weight:700}
.pricing-card .pc-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.testi{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.testi-item{border:1px dashed var(--border);border-radius:10px;padding:10px;background:rgba(148,163,184,.12)}
.final-cta{display:flex;gap:8px;flex-wrap:wrap}
 .hero-seg{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
 .hero-seg .seg-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:linear-gradient(135deg, rgba(148,163,184,.12), rgba(148,163,184,.20));color:var(--fg);cursor:pointer;transition:transform .08s ease,border-color .15s ease,box-shadow .15s ease}
 .hero-seg .seg-btn.active{border-color:var(--accent);box-shadow:0 6px 16px rgba(56,189,248,.22);transform:translateY(-1px)}
 .seg-hint{margin-top:8px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(135deg, rgba(148,163,184,.12), rgba(148,163,184,.20));color:var(--fg);box-shadow:0 4px 12px rgba(0,0,0,.18)}
 .hero-micro{color:var(--muted);margin:6px 0 0}
 .poster-cta .btn.emph{border-color:var(--accent);box-shadow:0 8px 18px rgba(56,189,248,.25);transform:translateY(-1px)}
@media (prefers-reduced-motion: reduce){
  .landing-page .reveal{opacity:1 !important;transform:none !important;transition:none !important}
  .landing-grid .lg-item,.pricing-card,.hero-seg .seg-btn{transition:none !important}
}
body.light .landing-hero{background:linear-gradient(135deg, rgba(56,189,248,.30), rgba(99,102,241,.30))}
body.light .landing-grid .lg-item{background:linear-gradient(135deg, rgba(148,163,184,.20), rgba(148,163,184,.30))}
body.light .lg-item[aria-expanded="true"]{background:linear-gradient(135deg, rgba(56,189,248,.28), rgba(99,102,241,.28))}
body.light .pricing-card{background:linear-gradient(135deg, rgba(148,163,184,.20), rgba(148,163,184,.30))}
body.light .hero-seg .seg-btn.active{box-shadow:0 6px 16px rgba(37,99,235,.22)}
body.light .seg-hint{background:linear-gradient(135deg, rgba(148,163,184,.20), rgba(148,163,184,.30))}
/* 圈子UGC双栏布局：左窄右宽，提升帖子可视宽度 */
.grid-circles{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:12px}
@media (max-width: 860px){.grid-circles{grid-template-columns:1fr}}
/* 综艺通告风格 */
.show-banner{position:relative;background:linear-gradient(135deg,#ff7a00,#ff3d67 50%,#7a00ff);color:#fff;border-radius:14px;padding:18px 16px;box-shadow:0 6px 18px rgba(0,0,0,0.2)}
.show-banner h2{margin:0;font-size:24px;letter-spacing:1px}
.show-banner p{margin:6px 0 0;font-size:14px;opacity:.92}
.show-banner .sticker{position:absolute;right:12px;top:-10px;background:#fff;color:#111;padding:6px 10px;border-radius:8px;transform:rotate(6deg);font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,0.25)}
.notice-board{background:#fff;border:4px solid #111;border-radius:12px;padding:12px;box-shadow:0 10px 0 #111, 0 16px 24px rgba(0,0,0,0.15)}
.card--projects .notice-board{margin-bottom:16px}
.notice-board .board-headline{font-weight:900;font-size:20px;letter-spacing:.5px;color:#111}
.notice-board .board-subline{color:#555;margin-top:4px}
.notice-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.capsule{display:inline-flex;align-items:center;gap:8px;background:#111;color:#fff;border-radius:999px;padding:8px 14px;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,0.2);cursor:pointer}
.capsule.secondary{background-image:linear-gradient(135deg, rgba(255,209,220,.18), rgba(253,226,228,.18));color:#111}
.capsule.invite{background-image:linear-gradient(135deg, rgba(255,209,220,.18), rgba(253,226,228,.18));color:#111}
body:not(.light) .capsule.secondary{background-image:linear-gradient(135deg, rgba(255,209,220,.26), rgba(253,226,228,.26));color:#111}
body:not(.light) .capsule.invite{background-image:linear-gradient(135deg, rgba(255,209,220,.26), rgba(253,226,228,.26));color:#111}
.capsule .emoji{font-size:18px}
.poster-cta{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}
.poster-cta .btn{border-radius:999px}
/* 顶部流程 CTA 三个胶囊按钮按模块主题设置浅色渐变（暗色模式） */
.poster-cta .btn{border-radius:999px}
.poster-cta .btn:nth-child(1){border-color:transparent;color:var(--fg);background-image:linear-gradient(135deg, rgba(20,184,166,.22), rgba(6,182,212,.22))}
.poster-cta .btn:nth-child(2){border-color:transparent;color:var(--fg);background-image:linear-gradient(135deg, rgba(251,146,60,.22), rgba(245,158,11,.22))}
.poster-cta .btn:nth-child(3){border-color:transparent;color:var(--fg);background-image:linear-gradient(135deg, rgba(14,165,233,.22), rgba(6,182,212,.22))}
body:not(.light) .poster-cta .btn:nth-child(1){border-color:transparent;color:#0f172a;background-image:linear-gradient(135deg, rgba(20,184,166,.26), rgba(6,182,212,.26))}
body:not(.light) .poster-cta .btn:nth-child(2){border-color:transparent;color:#0f172a;background-image:linear-gradient(135deg, rgba(251,146,60,.26), rgba(245,158,11,.26))}
body:not(.light) .poster-cta .btn:nth-child(3){border-color:transparent;color:#0f172a;background-image:linear-gradient(135deg, rgba(14,165,233,.26), rgba(6,182,212,.26))}
.card--notice{border:3px dashed #111}
.card--projects .create-area{margin-top:24px}
.card--projects #circleList{margin-top:12px}
/* 看板专用网格：随窗口自适应 1-3 列 */
.card--projects .grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.footer,.app-footer{padding:12px 16px;color:var(--muted);border-top:1px solid var(--border)}
.app-footer{position:fixed;left:0;right:0;bottom:0;background:var(--header);z-index:999}
.app-footer{display:flex;align-items:center;justify-content:space-between}
.app-footer .footer-link{display:inline;padding:0;border:none;border-radius:0;background:none;color:var(--fg);text-decoration:none;font-size:.8em;line-height:1.4}
body.light .app-footer .footer-link{background:none}
.app-footer .footer-link:hover{color:var(--accent)}
/* 工单中心创建区控件宽度优化 */
.ticket-create .input{max-width:320px}
.ticket-create textarea.input{min-width:380px;max-width:560px}
.input{width:100%;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:#0b1220;color:var(--fg);outline:none}
.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(56,189,248,.25)}
.btn{padding:8px 12px;border-radius:6px;border:1px solid var(--border);background:#0b1220;color:var(--fg);cursor:pointer;transition:transform .08s ease;text-decoration:none}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn:active{transform:scale(0.98)}
.btn.primary{background:#0e1c2f;border-color:#13426b;color:#93c5fd}

/* 亮色主题变量覆盖 */
body.light{--bg:#f8fafc;--fg:#0f172a;--muted:#334155;--accent:#2563eb;--card:#ffffff;--border:#cbd5e1;--header:#ffffff}
body.light .app-header{background:var(--header);border-bottom-color:var(--border)}
body.light .input{background:#ffffff;border-color:var(--border);color:var(--fg)}
body.light .btn{background:#ffffff;border-color:var(--border);color:var(--fg)}
body.light .btn.primary{background:#e2e8f0;border-color:#93c5fd;color:#0f172a}

/* 亮色模式下：圈子打卡胶囊按钮与顶部流程 CTA 渐变加深一点 */
body.light .capsule.secondary{background-image:linear-gradient(135deg, rgba(255,209,220,.28), rgba(253,226,228,.28));color:#111}
body.light .capsule.invite{background-image:linear-gradient(135deg, rgba(255,209,220,.28), rgba(253,226,228,.28));color:#111}
body.light .poster-cta .btn:nth-child(1){border-color:transparent;color:var(--fg);background-image:linear-gradient(135deg, rgba(20,184,166,.32), rgba(6,182,212,.32))}
body.light .poster-cta .btn:nth-child(2){border-color:transparent;color:var(--fg);background-image:linear-gradient(135deg, rgba(251,146,60,.32), rgba(245,158,11,.32))}
body.light .poster-cta .btn:nth-child(3){border-color:transparent;color:var(--fg);background-image:linear-gradient(135deg, rgba(14,165,233,.32), rgba(6,182,212,.32))}

/* 主题切换浮动按钮 */
.theme-switch{
  position:fixed;right:3px;bottom:120px;z-index:2147483647;
  background:transparent;border:none;border-radius:0;box-shadow:none;
  padding:0;display:flex;gap:8px;align-items:center;flex-direction:column
}
.theme-switch .label{color:var(--muted);font-size:12px}
.theme-switch .btn{min-width:0;width:36px;height:36px;border-radius:50%;border:none;background:transparent !important;display:inline-flex;align-items:center;justify-content:center;font-weight:500;font-size:18px;padding:0;transition:background-color .15s ease, transform .08s ease;appearance:none;-webkit-appearance:none}
.theme-switch .btn:hover{background-color:rgba(148,163,184,.15)}
.theme-switch .btn:active{transform:scale(0.96)}
.theme-switch .btn:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(56,189,248,.5)}
.theme-switch .btn-wrap{display:flex;align-items:center;overflow:hidden;width:65px;padding-left:6px;box-sizing:border-box;transition:width .2s ease}
.theme-switch .btn-wrap:hover{width:100px}
.theme-switch .btn-wrap .label{opacity:0;white-space:nowrap;color:var(--fg);font-size:12px;transition:opacity .15s ease, margin-left .15s ease;margin-left:0}
.theme-switch .btn-wrap:hover .label{opacity:1;margin-left:8px}
 .theme-switch #btnTop{font-size:0;position:relative}
 .theme-switch #btnTop::before{content:"";position:absolute;left:50%;top:7px;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid var(--accent);filter:drop-shadow(0 0 3px rgba(39, 40, 41, 0.6))}
 .theme-switch #btnTop::after{content:"";position:absolute;left:50%;top:18px;transform:translateX(-50%);width:5px;height:13px;background:var(--accent);border-radius:2px}
 body.light .theme-switch #btnTop::before{border-bottom-color:#2563eb;filter:none}
 body.light .theme-switch #btnTop::after{background:#2563eb}
 .theme-switch #btnTop:hover{background-color:transparent;transform:scale(1.08)}
/* 顶部进度条 */
#topProgress{position:fixed;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:0;pointer-events:none;background-size:200px 100%}
#topProgress.show{opacity:1;animation:progressIndeterminate 1.2s linear infinite}
@keyframes progressIndeterminate{0%{background-position:-200px 0}100%{background-position:200px 0}}

/* 导航激活态 */
.nav a.active{color:var(--accent);border-color:var(--accent);border-width:3px;font-weight:600}

/* 胶囊导航浅色渐变（暗色模式） */
.nav a[href*="/#/dashboard"]{background-image:linear-gradient(135deg, rgba(56,189,248,.15), rgba(34,197,94,.15))}
.nav a[href*="/#/customers"]{background-image:linear-gradient(135deg, rgba(20,184,166,.15), rgba(6,182,212,.15))}
.nav a[href*="/#/leads"]{background-image:linear-gradient(135deg, rgba(168,85,247,.15), rgba(217,70,239,.15))}
.nav a[href*="/#/quotes"]{background-image:linear-gradient(135deg, rgba(251,146,60,.15), rgba(245,158,11,.15))}
.nav a[href*="/#/contracts"]{background-image:linear-gradient(135deg, rgba(245,158,11,.15), rgba(234,179,8,.15))}
.nav a[href*="/#/orders"]{background-image:linear-gradient(135deg, rgba(34,197,94,.15), rgba(16,185,129,.15))}
.nav a[href*="/#/invoices"]{background-image:linear-gradient(135deg, rgba(99,102,241,.15), rgba(59,130,246,.15))}
.nav a[href*="/#/projects"]{background-image:linear-gradient(135deg, rgba(14,165,233,.15), rgba(6,182,212,.15))}
.nav a[href*="/#/followups"]{display:none !important}
.nav a[href*="/#/automation"]{background-image:linear-gradient(135deg, rgba(236,72,153,.15), rgba(244,63,94,.15))}
.nav a[href*="/#/uat"]{background-image:linear-gradient(135deg, rgba(239,68,68,.15), rgba(234,88,12,.15))}
.nav a[href*="/#/settings"]{background-image:linear-gradient(135deg, rgba(100,116,139,.15), rgba(107,114,128,.15))}
.nav a[href*="/#/landing"]{background-image:linear-gradient(135deg, rgba(56,189,248,.15), rgba(99,102,241,.15))}
.nav a[href*="/#/login"]{background-image:linear-gradient(135deg, rgba(99,102,241,.15), rgba(56,189,248,.15))}
/* 超级圈子胶囊按钮：浅粉红色 */
.nav a[href*="/#/circles"]{background:#ffd1dc !important;color:#0f172a}

/* 胶囊导航浅色渐变（亮色模式加深一点） */
body.light .nav a[href*="/#/dashboard"]{background-image:linear-gradient(135deg, rgba(56,189,248,.25), rgba(34,197,94,.25))}
body.light .nav a[href*="/#/customers"]{background-image:linear-gradient(135deg, rgba(20,184,166,.25), rgba(6,182,212,.25))}
body.light .nav a[href*="/#/leads"]{background-image:linear-gradient(135deg, rgba(168,85,247,.25), rgba(217,70,239,.25))}
body.light .nav a[href*="/#/quotes"]{background-image:linear-gradient(135deg, rgba(251,146,60,.25), rgba(245,158,11,.25))}
body.light .nav a[href*="/#/contracts"]{background-image:linear-gradient(135deg, rgba(245,158,11,.25), rgba(234,179,8,.25))}
body.light .nav a[href*="/#/orders"]{background-image:linear-gradient(135deg, rgba(34,197,94,.25), rgba(16,185,129,.25))}
body.light .nav a[href*="/#/invoices"]{background-image:linear-gradient(135deg, rgba(99,102,241,.25), rgba(59,130,246,.25))}
body.light .nav a[href*="/#/projects"]{background-image:linear-gradient(135deg, rgba(14,165,233,.25), rgba(6,182,212,.25))}
body.light .nav a[href*="/#/followups"]{display:none !important}
body.light .nav a[href*="/#/automation"]{background-image:linear-gradient(135deg, rgba(236,72,153,.25), rgba(244,63,94,.25))}
body.light .nav a[href*="/#/uat"]{background-image:linear-gradient(135deg, rgba(239,68,68,.25), rgba(234,88,12,.25))}
body.light .nav a[href*="/#/settings"]{background-image:linear-gradient(135deg, rgba(100,116,139,.25), rgba(107,114,128,.25))}
body.light .nav a[href*="/#/landing"]{background-image:linear-gradient(135deg, rgba(56,189,248,.25), rgba(99,102,241,.25))}
body.light .nav a[href*="/#/login"]{background-image:linear-gradient(135deg, rgba(99,102,241,.25), rgba(56,189,248,.25))}
/* 超级圈子（亮色）：加深浅粉红 */
body.light .nav a[href*="/#/circles"]{background:#ffc0cb !important;color:#0f172a}

/* 表格增强 */
.card table{width:100%;border-collapse:collapse}
.card canvas{display:block;width:100%;height:180px;max-width:100%}
.card table thead th{color:var(--muted);text-align:left;border-bottom:1px solid var(--border);padding:8px}
.card table tbody td{padding:8px;border-bottom:1px solid var(--border)}
.card table tbody tr:hover{background-color:rgba(148,163,184,.1)}
.card table tbody tr:nth-child(odd){background-color:rgba(31,41,55,.25)}
body.light .card table tbody tr:nth-child(odd){background-color:#f1f5f9}
.card table tbody td:last-child .btn{border-color:transparent;color:var(--fg);background-image:linear-gradient(135deg, rgba(148,163,184,.15), rgba(148,163,184,.25))}
body.light .card table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(148,163,184,.25), rgba(148,163,184,.35))}
.card table tbody td:last-child .btn:hover{transform:translateY(-1px)}

.card--customers table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(20,184,166,.20), rgba(6,182,212,.20))}
body.light .card--customers table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(20,184,166,.30), rgba(6,182,212,.30))}

.card--leads table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(168,85,247,.20), rgba(217,70,239,.20))}
body.light .card--leads table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(168,85,247,.30), rgba(217,70,239,.30))}
/* 线索模块：新建线索按钮加宽 */
.card--leads #leadCreate{width:80%}

.card--quotes table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(251,146,60,.20), rgba(245,158,11,.20))}
body.light .card--quotes table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(251,146,60,.30), rgba(245,158,11,.30))}

.card--contracts table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(245,158,11,.20), rgba(234,179,8,.20))}
body.light .card--contracts table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(245,158,11,.30), rgba(234,179,8,.30))}

.card--orders table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(34,197,94,.20), rgba(16,185,129,.20))}
body.light .card--orders table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(34,197,94,.30), rgba(16,185,129,.30))}

.card--invoices table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(99,102,241,.20), rgba(59,130,246,.20))}
body.light .card--invoices table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(99,102,241,.30), rgba(59,130,246,.30))}

.card--projects table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(14,165,233,.20), rgba(6,182,212,.20))}
body.light .card--projects table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(14,165,233,.30), rgba(6,182,212,.30))}
.card--projects .task-card .btn{border-color:transparent;color:var(--fg);background-image:linear-gradient(135deg, rgba(14,165,233,.20), rgba(6,182,212,.20))}
body.light .card--projects .task-card .btn{background-image:linear-gradient(135deg, rgba(14,165,233,.30), rgba(6,182,212,.30))}
/* 看板任务卡片布局与缩放 */
.card--projects .task-card{display:flex;flex-direction:column;gap:6px;resize:vertical;overflow:auto;min-height:90px}
.card--projects .task-card .task-head{display:flex;flex-direction:column;gap:4px}
.card--projects .task-card .task-meta{color:var(--muted);font-size:12px}
.card--projects .drop-col .task-card .task-meta .prio-high{color:#ff0000 !important;font-weight:700}
.card--projects .task-card .task-actions{margin-top:auto;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.card--projects .task-card .task-actions .row{display:flex;gap:6px;flex-wrap:wrap}
.card--projects .task-card .task-actions .btn{padding:2px 6px;font-size:12px;line-height:1;min-width:0;height:auto}
.card--projects .task-card .task-owner{align-self:flex-start;margin-right:4ch}
/* 看板列背景色（待处理=浅红；进行中=浅黄；已完成=浅绿） */
.card--projects .drop-col[data-status="todo"]{background-image:none;background-color:#fee2e2}
.card--projects .drop-col[data-status="doing"]{background-image:none;background-color:#fef3c7}
.card--projects .drop-col[data-status="done"]{background-image:none;background-color:#dcfce7}
body:not(.light) .card--projects .drop-col[data-status="todo"],
body:not(.light) .card--projects .drop-col[data-status="doing"],
body:not(.light) .card--projects .drop-col[data-status="done"]{color:#0f172a}
body:not(.light) .card--projects .drop-col .task-card .task-meta,
body:not(.light) .card--projects .drop-col .task-card .task-owner,
body:not(.light) .card--projects .drop-col .task-card .task-desc{color:#1f2937}
/* 描述与负责人统一黑色（深色/浅色均适用） */
.card--projects .drop-col .task-card .task-desc,
.card--projects .drop-col .task-card .task-owner{color:#000}
/* 暗色模式下：看板卡片内按钮文字也使用深色，提高可读性 */
body:not(.light) .card--projects .drop-col .task-card .btn{color:#0f172a;border-color:#0f172a}

/* 超级圈子帖子列表中的按钮缩小为文字大小 */
.card--customers #postList .btn{padding:2px 6px;font-size:12px;line-height:1;min-width:0;height:auto;border-radius:4px}
.ticket-attachments img{width:40px;height:40px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}
.ticket-attachments img{cursor:zoom-in}
.img-preview-mask{position:fixed;left:0;top:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:2147483645;display:flex;align-items:center;justify-content:center}
.img-preview{max-width:90vw;max-height:90vh;border-radius:8px;border:1px solid var(--border);box-shadow:0 10px 30px rgba(0,0,0,.4);background:#000}
/* 待上传图片预览缩略图与删除按钮 */
.thumb{position:relative;display:inline-block;margin:4px}
.thumb img{width:72px;height:72px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}
.thumb .del{position:absolute;top:-6px;right:-6px;background:#ef4444;color:#fff;border:none;border-radius:999px;width:20px;height:20px;line-height:20px;text-align:center;cursor:pointer}
.card--customers #postList .btn,
.card--customers #postSubmit,
.card--customers #loadMore,
.card--customers [data-act="submit-comment"],
.card--customers [data-act="del-comment"]{display:inline-flex;align-items:center;gap:6px}

.card--automation table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(236,72,153,.20), rgba(244,63,94,.20))}
body.light .card--automation table tbody td:last-child .btn{background-image:linear-gradient(135deg, rgba(236,72,153,.30), rgba(244,63,94,.30))}

/* 模块通用操作按钮底色差异化 */
.card--dashboard .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(56,189,248,.18), rgba(34,197,94,.18))}
body.light .card--dashboard .btn{background:linear-gradient(135deg, rgba(56,189,248,.28), rgba(34,197,94,.28))}
.card--metrics .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(59,130,246,.18), rgba(99,102,241,.18))}
body.light .card--metrics .btn{background:linear-gradient(135deg, rgba(59,130,246,.28), rgba(99,102,241,.28))}
.card--customers .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(20,184,166,.22), rgba(6,182,212,.22))}
body.light .card--customers .btn{background:linear-gradient(135deg, rgba(20,184,166,.32), rgba(6,182,212,.32))}
/* 客户与线索页：新建线索按钮浅紫色（参考图示） */
.card--customers .lead-new{background:#d8b4fe !important;color:#0f172a;border-color:#a78bfa}
body.light .card--customers .lead-new{background:#e9d5ff !important;color:#0f172a;border-color:#a78bfa}
/* 客户页嵌入的线索简表：新建线索按钮也使用浅紫色 */
.card--leads #leadCreate{background:#d8b4fe !important;color:#0f172a;border-color:#a78bfa}
body.light .card--leads #leadCreate{background:#e9d5ff !important;color:#0f172a;border-color:#a78bfa}
.card--leads .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(168,85,247,.22), rgba(217,70,239,.22))}
body.light .card--leads .btn{background:linear-gradient(135deg, rgba(168,85,247,.32), rgba(217,70,239,.32))}
.card--leads #leadCreate2{width:80%}
.card--leads #leadFilter{width:80%}
.card--quotes .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(251,146,60,.22), rgba(245,158,11,.22))}
body.light .card--quotes .btn{background:linear-gradient(135deg, rgba(251,146,60,.32), rgba(245,158,11,.32))}
.card--contracts .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(245,158,11,.22), rgba(234,179,8,.22))}
body.light .card--contracts .btn{background:linear-gradient(135deg, rgba(245,158,11,.32), rgba(234,179,8,.32))}
.card--orders .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(34,197,94,.22), rgba(16,185,129,.22))}
body.light .card--orders .btn{background:linear-gradient(135deg, rgba(34,197,94,.32), rgba(16,185,129,.32))}
.card--invoices .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(99,102,241,.22), rgba(59,130,246,.22))}
body.light .card--invoices .btn{background:linear-gradient(135deg, rgba(99,102,241,.32), rgba(59,130,246,.32))}
.card--projects .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(14,165,233,.22), rgba(6,182,212,.22))}
body.light .card--projects .btn{background:linear-gradient(135deg, rgba(14,165,233,.32), rgba(6,182,212,.32))}
.card--projects #tCreate{width:80%;font-weight:700}
.card--projects #circleCreate{width:220px;font-weight:700}
.card--automation .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(236,72,153,.22), rgba(244,63,94,.22))}
body.light .card--automation .btn{background:linear-gradient(135deg, rgba(236,72,153,.32), rgba(244,63,94,.32))}
.nav a[href*="/#/finance"]{background:#f3e8ff !important;color:#0f172a}
.card--finance{background:#f3e8ff !important;color:#0f172a}
.card--settings .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(100,116,139,.22), rgba(107,114,128,.22))}
body.light .card--settings .btn{background:linear-gradient(135deg, rgba(100,116,139,.32), rgba(107,114,128,.32))}
.card--settings #pwdBtn{width:80%}
.card--finance .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(16,185,129,.22), rgba(20,184,166,.22))}
body.light .card--finance .btn{background:linear-gradient(135deg, rgba(16,185,129,.32), rgba(20,184,166,.32))}
.card--uat .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(239,68,68,.22), rgba(234,88,12,.22))}
body.light .card--uat .btn{background:linear-gradient(135deg, rgba(239,68,68,.32), rgba(234,88,12,.32))}
.card--login .btn{border-color:transparent;color:var(--fg);background:linear-gradient(135deg, rgba(99,102,241,.22), rgba(56,189,248,.22))}
body.light .card--login .btn{background:linear-gradient(135deg, rgba(99,102,241,.32), rgba(56,189,248,.32))}
.tab-nav .btn{border-color:transparent;color:var(--fg)}
.tab-nav .btn[data-tab="account"], #tab-account .btn{background-image:linear-gradient(135deg, rgba(59,130,246,.22), rgba(99,102,241,.22))}
body.light .tab-nav .btn[data-tab="account"], body.light #tab-account .btn{background-image:linear-gradient(135deg, rgba(59,130,246,.32), rgba(99,102,241,.32))}
.tab-nav .btn.primary[data-tab="account"]{background:none}

.tab-nav .btn[data-tab="profile"], #tab-profile .btn{background-image:linear-gradient(135deg, rgba(20,184,166,.22), rgba(6,182,212,.22))}
body.light .tab-nav .btn[data-tab="profile"], body.light #tab-profile .btn{background-image:linear-gradient(135deg, rgba(20,184,166,.32), rgba(6,182,212,.32))}
.tab-nav .btn.primary[data-tab="profile"]{background:none}

.tab-nav .btn[data-tab="update"], #tab-update .btn{background-image:linear-gradient(135deg, rgba(251,146,60,.22), rgba(245,158,11,.22))}
body.light .tab-nav .btn[data-tab="update"], body.light #tab-update .btn{background-image:linear-gradient(135deg, rgba(251,146,60,.32), rgba(245,158,11,.32))}
.tab-nav .btn.primary[data-tab="update"]{background:none}

.tab-nav .btn[data-tab="basic"], #tab-basic .btn{background-image:linear-gradient(135deg, rgba(100,116,139,.22), rgba(107,114,128,.22))}
body.light .tab-nav .btn[data-tab="basic"], body.light #tab-basic .btn{background-image:linear-gradient(135deg, rgba(100,116,139,.32), rgba(107,114,128,.32))}
.tab-nav .btn.primary[data-tab="basic"]{background:none}

.tab-nav .btn[data-tab="db"], #tab-db .btn{background-image:linear-gradient(135deg, rgba(99,102,241,.22), rgba(59,130,246,.22))}
body.light .tab-nav .btn[data-tab="db"], body.light #tab-db .btn{background-image:linear-gradient(135deg, rgba(99,102,241,.32), rgba(59,130,246,.32))}
.tab-nav .btn.primary[data-tab="db"]{background:none}

.tab-nav .btn[data-tab="indexes"], #tab-indexes .btn{background-image:linear-gradient(135deg, rgba(245,158,11,.22), rgba(234,179,8,.22))}
body.light .tab-nav .btn[data-tab="indexes"], body.light #tab-indexes .btn{background-image:linear-gradient(135deg, rgba(245,158,11,.32), rgba(234,179,8,.32))}
.tab-nav .btn.primary[data-tab="indexes"]{background:none}

.tab-nav .btn[data-tab="fixtures"], #tab-fixtures .btn{background-image:linear-gradient(135deg, rgba(34,197,94,.22), rgba(16,185,129,.22))}
body.light .tab-nav .btn[data-tab="fixtures"], body.light #tab-fixtures .btn{background-image:linear-gradient(135deg, rgba(34,197,94,.32), rgba(16,185,129,.32))}
.tab-nav .btn.primary[data-tab="fixtures"]{background:none}

.tab-nav .btn[data-tab="export"], #tab-export .btn{background-image:linear-gradient(135deg, rgba(14,165,233,.22), rgba(6,182,212,.22))}
body.light .tab-nav .btn[data-tab="export"], body.light #tab-export .btn{background-image:linear-gradient(135deg, rgba(14,165,233,.32), rgba(6,182,212,.32))}
.tab-nav .btn.primary[data-tab="export"]{background:none}

.tab-nav .btn[data-tab="templates"], #tab-templates .btn{background-image:linear-gradient(135deg, rgba(168,85,247,.22), rgba(217,70,239,.22))}
body.light .tab-nav .btn[data-tab="templates"], body.light #tab-templates .btn{background-image:linear-gradient(135deg, rgba(168,85,247,.32), rgba(217,70,239,.32))}
.tab-nav .btn.primary[data-tab="templates"]{background:none}

.tab-nav .btn[data-tab="projtypes"], #tab-projtypes .btn{background-image:linear-gradient(135deg, rgba(236,72,153,.22), rgba(244,63,94,.22))}
body.light .tab-nav .btn[data-tab="projtypes"], body.light #tab-projtypes .btn{background-image:linear-gradient(135deg, rgba(236,72,153,.32), rgba(244,63,94,.32))}
.tab-nav .btn.primary[data-tab="projtypes"]{background:none}

.tab-nav .btn[data-tab="payconf"], #tab-payconf .btn{background-image:linear-gradient(135deg, rgba(244,63,94,.22), rgba(236,72,153,.22))}
body.light .tab-nav .btn[data-tab="payconf"], body.light #tab-payconf .btn{background-image:linear-gradient(135deg, rgba(244,63,94,.32), rgba(236,72,153,.32))}
.tab-nav .btn.primary[data-tab="payconf"]{background:none}

.tab-nav .btn[data-tab="themes"], #tab-themes .btn{background-image:linear-gradient(135deg, rgba(56,189,248,.22), rgba(99,102,241,.22))}
body.light .tab-nav .btn[data-tab="themes"], body.light #tab-themes .btn{background-image:linear-gradient(135deg, rgba(56,189,248,.32), rgba(99,102,241,.32))}
.tab-nav .btn.primary[data-tab="themes"]{background:none}

.tab-nav .btn[data-tab="vip"], #tab-vip .btn{background-image:linear-gradient(135deg, rgba(245,158,11,.22), rgba(250,204,21,.22))}
body.light .tab-nav .btn[data-tab="vip"], body.light #tab-vip .btn{background-image:linear-gradient(135deg, rgba(245,158,11,.32), rgba(250,204,21,.32))}
.tab-nav .btn.primary[data-tab="vip"]{background:none}
/* 长文本与预格式化内容换行与滚动 */
.card pre{white-space:pre-wrap;word-wrap:break-word;word-break:break-word;max-width:100%;overflow:auto}
.card a{word-break:break-all}

/* 骨架屏 */
.skeleton{background:linear-gradient(90deg, rgba(148,163,184,.2) 25%, rgba(148,163,184,.35) 50%, rgba(148,163,184,.2) 75%);background-size:200% 100%;animation:skeletonAnim 1.2s ease-in-out infinite}
.skeleton-line{height:12px;border-radius:6px;margin:6px 0}
@keyframes skeletonAnim{0%{background-position:200% 0}100%{background-position:-200% 0}}
.card--dashboard{background-image:linear-gradient(135deg, rgba(56,189,248,.12), rgba(34,197,94,.12))}
.card--metrics{background-image:linear-gradient(135deg, rgba(59,130,246,.12), rgba(99,102,241,.12))}
.card--customers{background-image:linear-gradient(135deg, rgba(20,184,166,.12), rgba(6,182,212,.12))}
.card--leads{background-image:linear-gradient(135deg, rgba(168,85,247,.12), rgba(217,70,239,.12))}
.card--followups{background-image:linear-gradient(135deg, rgba(139,92,246,.12), rgba(79,70,229,.12))}
.card--quotes{background-image:linear-gradient(135deg, rgba(251,146,60,.12), rgba(245,158,11,.12))}
.card--contracts{background-image:linear-gradient(135deg, rgba(245,158,11,.12), rgba(234,179,8,.12))}
.card--orders{background-image:linear-gradient(135deg, rgba(34,197,94,.12), rgba(16,185,129,.12))}
.card--invoices{background-image:linear-gradient(135deg, rgba(99,102,241,.12), rgba(59,130,246,.12))}
.card--projects{background-image:linear-gradient(135deg, rgba(14,165,233,.12), rgba(6,182,212,.12))}

/* VIP 身份标识与升级按钮 */
.vip-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,#f59e0b,#facc15);color:#111;font-weight:800;border:1px solid #fbbf24;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.vip-upgrade{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--border);background:linear-gradient(135deg, rgba(251,146,60,.22), rgba(245,158,11,.22));color:var(--fg)}
body.light .vip-upgrade{background:linear-gradient(135deg, rgba(251,146,60,.32), rgba(245,158,11,.32))}

/* 落地页样式 */
.landing-hero{background:linear-gradient(135deg, rgba(251,191,36,.22), rgba(56,189,248,.18));padding:24px;border-radius:12px}
.landing-hero .hero-content{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.landing-hero h2{margin:0;font-size:28px;letter-spacing:1px}
.landing-hero p{margin:0;color:var(--muted)}
.landing-hero .hero-cta{display:flex;gap:8px;margin-top:8px}
.landing-page{background-image:linear-gradient(135deg, rgba(255,243,176,.28), rgba(255,208,133,.20));border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:12px}
body.light .landing-page{background-image:linear-gradient(135deg, rgba(255,243,176,.34), rgba(255,208,133,.26))}
.card--landing{background-image:linear-gradient(135deg, rgba(255,236,179,.26), rgba(255,214,165,.18))}
body.light .card--landing{background-image:linear-gradient(135deg, rgba(255,236,179,.32), rgba(255,214,165,.24))}
.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.landing-grid .lg-item{background:rgba(148,163,184,.08);border:1px solid var(--border);border-radius:8px;padding:12px}
.landing-grid .lg-title{font-weight:700;margin-bottom:4px}
.landing-grid .lg-desc{color:var(--muted)}
.flow-line{padding:8px 12px;border-radius:8px;background:rgba(148,163,184,.08);border:1px solid var(--border);font-weight:600}
.pricing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.pricing-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:rgba(148,163,184,.08)}
.pricing-card .pc-head{font-weight:800;font-size:18px}
.pricing-card .pc-price{font-size:22px;margin:6px 0}
.pricing-card .pc-bonus{color:var(--muted)}
.pricing-card .pc-actions{margin-top:8px}
.pricing-card .tag{display:inline-block;background:#f59e0b;color:#111;border-radius:999px;padding:4px 10px;font-weight:800;font-size:12px;margin-bottom:6px}
.pricing-card .tag.reco{background:#22c55e;color:#fff}
.pricing-card .price-area{display:flex;align-items:baseline;gap:8px}
.pricing-card .price-main{font-size:22px;font-weight:900;color:#f59e0b}
.pricing-card .price-old{font-size:14px;color:var(--muted);text-decoration:line-through}
.pricing-card .list{margin-top:6px;color:var(--fg);font-size:14px}
.pricing-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px rgba(56,189,248,.25)}
.pricing-card:hover{transform:translateY(-2px);transition:transform .15s ease}
.vip-page{background-image:linear-gradient(135deg, rgba(251,191,36,.12), rgba(56,189,248,.12));border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:12px}
body.light .vip-page{background-image:linear-gradient(135deg, rgba(251,191,36,.18), rgba(56,189,248,.18))}
.card--vip{background-image:linear-gradient(135deg, rgba(251,191,36,.12), rgba(250,204,21,.12))}
body.light .card--vip{background-image:linear-gradient(135deg, rgba(251,191,36,.18), rgba(250,204,21,.18))}
.testi{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.testi-item{background:rgba(148,163,184,.08);border:1px solid var(--border);border-radius:8px;padding:10px}
.final-cta{display:flex;gap:8px;justify-content:flex-end}
.card--automation{background-image:linear-gradient(135deg, rgba(236,72,153,.12), rgba(244,63,94,.12))}
.card--settings{background-image:linear-gradient(135deg, rgba(100,116,139,.12), rgba(107,114,128,.12))}
.card--finance{background-image:linear-gradient(135deg, rgba(16,185,129,.12), rgba(20,184,166,.12))}
.card--uat{background-image:linear-gradient(135deg, rgba(239,68,68,.12), rgba(234,88,12,.12))}
.card--login{background-image:linear-gradient(135deg, rgba(99,102,241,.12), rgba(56,189,248,.12))}
body.light .card--dashboard{background-image:linear-gradient(135deg, rgba(56,189,248,.18), rgba(34,197,94,.18))}
body.light .card--metrics{background-image:linear-gradient(135deg, rgba(59,130,246,.18), rgba(99,102,241,.18))}
body.light .card--customers{background-image:linear-gradient(135deg, rgba(20,184,166,.18), rgba(6,182,212,.18))}
body.light .card--leads{background-image:linear-gradient(135deg, rgba(168,85,247,.18), rgba(217,70,239,.18))}
body.light .card--followups{background-image:linear-gradient(135deg, rgba(139,92,246,.18), rgba(79,70,229,.18))}
body.light .card--quotes{background-image:linear-gradient(135deg, rgba(251,146,60,.18), rgba(245,158,11,.18))}
body.light .card--contracts{background-image:linear-gradient(135deg, rgba(245,158,11,.18), rgba(234,179,8,.18))}
body.light .card--orders{background-image:linear-gradient(135deg, rgba(34,197,94,.18), rgba(16,185,129,.18))}
body.light .card--invoices{background-image:linear-gradient(135deg, rgba(99,102,241,.18), rgba(59,130,246,.18))}
body.light .card--projects{background-image:linear-gradient(135deg, rgba(14,165,233,.18), rgba(6,182,212,.18))}
body.light .card--automation{background-image:linear-gradient(135deg, rgba(236,72,153,.18), rgba(244,63,94,.18))}
body.light .card--settings{background-image:linear-gradient(135deg, rgba(100,116,139,.18), rgba(107,114,128,.18))}
body.light .card--finance{background-image:linear-gradient(135deg, rgba(16,185,129,.18), rgba(20,184,166,.18))}
body.light .card--uat{background-image:linear-gradient(135deg, rgba(239,68,68,.18), rgba(234,88,12,.18))}
body.light .card--login{background-image:linear-gradient(135deg, rgba(99,102,241,.18), rgba(56,189,248,.18))}
.lead-board .lead-col[data-status="new"]{background-image:none}
.lead-board .lead-col[data-status="following"]{background-image:none}
.lead-board .lead-col[data-status="converted"]{background-image:none}
.lead-board .lead-col[data-status="closed"]{background-image:none}
/* 跟进弹窗按钮浅色系 */
.btn.pastel-cancel{background:#fee2e2 !important;color:#0f172a;border-color:#fecaca}
.btn.pastel-save{background:#d1fae5 !important;color:#0f172a;border-color:#a7f3d0}
.btn.pastel-close{background:#e0f2fe !important;color:#0f172a;border-color:#bae6fd}
.btn.pastel-edit{background:#fef3c7 !important;color:#0f172a;border-color:#fde68a}
.btn.pastel-del{background:#fde2e4 !important;color:#0f172a;border-color:#facbd3}
.btn.followups-btn{min-width:140px}
 .pricing-matrix{margin-top:8px}
.pricing-table{width:100%;border-collapse:collapse}
.pricing-table thead th{color:var(--fg);text-align:left;border-bottom:2px solid var(--border);padding:8px}
.pricing-table tbody td{padding:8px;border-bottom:1px solid var(--border)}
.pricing-table tbody tr:hover{background-color:rgba(148,163,184,.10)}
.pricing-table tbody td:nth-child(2),
.pricing-table tbody td:nth-child(3),
.pricing-table tbody td:nth-child(4){text-align:center}
body.light .pricing-table tbody tr:hover{background-color:#f1f5f9}
 .pricing-table .col-reco{background:linear-gradient(135deg, rgba(56,189,248,.18), rgba(99,102,241,.18));font-weight:700}
 body.light .pricing-table .col-reco{background:linear-gradient(135deg, rgba(56,189,248,.28), rgba(99,102,241,.28))}
 .pricing-table thead th.col-reco{color:var(--accent)}
 /* 英雄的历程（客户视角） */
 .journey{position:relative}
 .journey-progress{position:absolute;left:16px;right:16px;top:0;height:6px;background:rgba(148,163,184,.15);border-radius:999px;overflow:hidden}
 .journey-progress .bar{height:100%;width:0;background:linear-gradient(90deg, rgba(56,189,248,.45), rgba(99,102,241,.45));transition:width .25s ease}
 .journey-line{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
 .journey-step{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:12px;padding:12px;background:linear-gradient(135deg, rgba(148,163,184,.12), rgba(148,163,184,.20));cursor:pointer;transition:transform .08s ease, box-shadow .15s ease}
 .journey-step:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.25)}
 .journey-step .num{flex:0 0 auto;width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg, rgba(56,189,248,.25), rgba(99,102,241,.25));display:flex;align-items:center;justify-content:center;font-weight:800;color:#0f172a}
 .journey-step .title{font-weight:800}
 .journey-step .desc{color:var(--muted);margin-top:4px}
.journey-step .actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.journey-step.active{border-color:var(--accent);box-shadow:0 8px 18px rgba(56,189,248,.25)}
 .journey-step .pains{display:flex;flex-direction:column;gap:6px;margin-top:8px}
 .journey-step .pain{border:1px dashed var(--border);border-radius:10px;padding:8px;background:rgba(148,163,184,.10)}
 .journey-step .pain .q{font-weight:700}
 .journey-step .pain .solutions{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
 .journey-step .pain .chip{padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:linear-gradient(135deg, rgba(148,163,184,.15), rgba(148,163,184,.25));color:var(--fg);cursor:pointer}
 .journey-step .pain .chip:hover{transform:translateY(-1px)}
 @media (prefers-reduced-motion: reduce){
   .journey-progress .bar{transition:none}
   .journey-step{transition:none}
 }
 body.light .journey-progress .bar{background:linear-gradient(90deg, rgba(37,99,235,.45), rgba(99,102,241,.45))}
