/* i橙工 · Ant Design 设计语言（组件规范 + 交互参考） */
:root{
  /* 品牌（i橙工 · 新 Figma 规范） */
  --brand:#f47f15; --brand-hover:#ff8a1f; --brand-active:#e06d08; --brand-bg:#fff4ec; --brand-border:#ffd9bf;
  --brand-2:#ff5900; --brand-2b:#ff782f; /* 渐变末端 */
  --grad-brand:linear-gradient(90deg,#f47f15 0%,#ff5900 100%);
  --grad-brand-rev:linear-gradient(-85deg,#f47f15 23%,#ff5900 104%);
  --grad-pill:linear-gradient(90deg,#f47f15 0%,#ff782f 100%);

  /* AntD 语义色 */
  --success:#52c41a; --success-bg:#f6ffed; --success-border:#b7eb8f;
  --warning:#faad14; --warning-bg:#fffbe6; --warning-border:#ffe58f;
  --error:#ff4d4f;   --error-bg:#fff2f0;   --error-border:#ffccc7;
  --info:#1677ff;    --info-bg:#e6f4ff;    --info-border:#91caff;
  --processing:#1677ff;

  /* AntD 中性（新 Figma 校准） */
  --text:rgba(0,0,0,.88);
  --text-2:rgba(0,0,0,.65);
  --text-3:rgba(0,0,0,.45);
  --text-4:rgba(0,0,0,.25);
  --ink:#191919; --ink-2:#666; --ink-3:#999;
  --border:#e6e6e6;
  --split:#f0f0f0;
  --bg-layout:#f6f7f8;
  --bg-container:#fafafa;
  --bg-mask:rgba(0,0,0,.45);

  /* 尺寸（新 Figma：大圆角卡片） */
  --radius:8px; --radius-lg:14px; --radius-card:20px; --radius-pill:31px;
  --control:32px; --control-lg:40px;
  --shadow-1:0 1px 2px 0 rgba(0,0,0,.03),0 1px 6px -1px rgba(0,0,0,.02),0 2px 4px 0 rgba(0,0,0,.02);
  --shadow-2:0 6px 16px 0 rgba(0,0,0,.08),0 3px 6px -4px rgba(0,0,0,.12),0 9px 28px 8px rgba(0,0,0,.05);
  --ease:.2s cubic-bezier(.645,.045,.355,1);
  /* 750 设计稿 → 390 设备比例（390/750=.52）。首页由 Figma 750 稿衍生出的尺寸统一用
     calc(<750px> * var(--fig-scale)) 表达，改这一处即可整体缩放首页，便于按比例适配。 */
  --fig-scale:.52;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",Roboto,Arial,sans-serif;
  font-size:14px;line-height:1.5714285714285714;color:var(--text);background:#eef0f3;
  display:flex;align-items:flex-start;justify-content:center;min-height:100vh;padding:12px}

/* ===== 手机外壳 ===== */
.phone{width:775px;height:1640px;background:#16181c;border-radius:40px;padding:10px;box-shadow:var(--shadow-2)}
.screen{width:390px;height:844px;zoom:1.923;background:var(--bg-layout);border-radius:30px;overflow:hidden;display:flex;flex-direction:column;position:relative}

/* 状态栏 + 刘海（iPhone 风格，内容整体下沉到刘海下方） */
.statusbar{height:34px;display:flex;align-items:center;justify-content:space-between;
  padding:0 22px;font-size:13px;color:var(--text);flex-shrink:0;position:relative;
  background:transparent;z-index:5}
.statusbar .sb-time{font-weight:600;letter-spacing:.3px;font-variant-numeric:tabular-nums}
.statusbar .sb-icons{font-size:12px;letter-spacing:1px}

/* ===== NavigationBar（橙底白字） ===== */
.navbar{height:56px;background:var(--brand);border-bottom:none;display:flex;align-items:center;
  padding:0 12px;flex-shrink:0;position:relative}
.navbar .back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:20px;
  color:#fff;cursor:pointer;border-radius:var(--radius);flex-shrink:0}
.navbar .back:active{background:rgba(255,255,255,.18)}
.navbar .title{flex:1;text-align:center;overflow:hidden}
.navbar .title b{display:block;font-size:17px;font-weight:600;line-height:24px;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.navbar .title span{display:block;font-size:12px;color:rgba(255,255,255,.85);line-height:16px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.navbar .extra{width:32px;display:flex;justify-content:flex-end;flex-shrink:0}
.navbar .extra i{width:28px;height:28px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;
  font-size:15px;color:#fff;cursor:pointer;font-style:normal}
.navbar .extra i:active{background:rgba(255,255,255,.18)}

.body{flex:1;overflow-y:auto;background:var(--bg-layout)}
.body::-webkit-scrollbar{width:0}
.footer{background:var(--surface);border-top:1px solid var(--split);padding:10px 12px;flex-shrink:0;
  box-shadow:0 -2px 8px rgba(0,0,0,.04)}
.footer.bare{padding:0;border-top:none;box-shadow:none}

/* ===== Card ===== */
.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:0 1px 8px rgba(0,0,0,.05);margin:10px 12px;border:1px solid rgba(0,0,0,.03)}
.card .hd{padding:14px 16px;border-bottom:1px solid var(--split);display:flex;align-items:center;gap:8px;min-height:48px}
.card .hd h4{font-size:16px;font-weight:600;line-height:22px;color:var(--ink-1)}
.card .hd .extra{margin-left:auto;font-size:13px;color:var(--text-3)}
.card .bd{padding:14px 16px}
.card.hoverable:active{box-shadow:0 1px 2px rgba(0,0,0,.06)}

/* ===== Button ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;
  padding:0 18px;border-radius:12px;border:1px solid transparent;font-size:15px;font-weight:600;
  cursor:pointer;transition:all var(--ease);font-family:inherit;background:var(--surface);color:var(--text);border-color:var(--border)}
.btn:active{transform:scale(.985)}
.btn.primary{background:var(--grad-brand);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(244,127,21,.28)}
.btn.primary:active{filter:brightness(.95)}
.btn.danger{background:var(--error);color:#fff;border-color:var(--error)}
.btn.link{background:transparent;border-color:transparent;color:var(--brand);padding:0 8px}
.btn.text{background:transparent;border-color:transparent;color:var(--text-2);padding:0 8px;font-weight:400}
.btn.block{display:flex;width:100%}
.btn.sm{height:32px;padding:0 14px;font-size:13px;border-radius:10px;font-weight:600}
.btn[disabled]{background:var(--bg-container);color:var(--text-4);border-color:var(--border);cursor:not-allowed}
.btnrow{display:flex;gap:8px}
.btnrow .btn{flex:1}

/* 去匹配：大号醒目 CTA */
.match-cta{height:50px;font-size:16px;font-weight:600;border-radius:12px;box-shadow:0 4px 14px rgba(255,80,0,.28)}
.match-cta .icn{width:20px;height:20px}

/* 去匹配：AI 匹配中状态 */
.ai-match{margin:10px 12px;padding:14px 16px;background:var(--brand-bg,#FFF1EC);border:1px solid var(--brand-border,#FFD9C7);border-radius:12px;display:flex;flex-direction:column;gap:8px}
.ai-match-hd{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--brand-active,#D93A00)}
.ai-spin{width:16px;height:16px;border:2px solid var(--brand-border,#FFD9C7);border-top-color:var(--brand,#FF5000);border-radius:50%;animation:aiSpin .8s linear infinite;flex-shrink:0}
@keyframes aiSpin{to{transform:rotate(360deg)}}
.ai-match-sub{font-size:12px;color:var(--ink-2,#666);min-height:16px;transition:opacity .2s}
.ai-bar{height:4px;border-radius:3px;background:var(--brand-border,#FFD9C7);overflow:hidden}
.ai-bar>i{display:block;height:100%;width:32%;background:var(--brand,#FF5000);border-radius:3px;animation:aiBar 1.4s ease-in-out infinite}
@keyframes aiBar{0%{margin-left:-32%}100%{margin-left:100%}}
.ai-match.done{background:var(--bg-s,#f7f8fa);border-color:var(--line-s,#ebedf0);flex-direction:row;align-items:center;gap:8px;color:var(--ink-2,#666)}
.ai-ok{width:18px;height:18px;border-radius:50%;background:var(--brand,#FF5000);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}

/* ===== Tag ===== */
.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;font-size:12px;
  line-height:20px;border:1px solid var(--split);background:var(--bg-container);color:var(--text-2);white-space:nowrap}
.tag.success{background:var(--success-bg);border-color:var(--success-border);color:#389e0d}
.tag.processing{background:var(--info-bg);border-color:var(--info-border);color:#0958d9}
.tag.warning{background:var(--warning-bg);border-color:var(--warning-border);color:#d48806}
.tag.error{background:var(--error-bg);border-color:var(--error-border);color:#cf1322}
.tag.brand{background:var(--brand-bg);border-color:var(--brand-border);color:var(--brand-active)}

/* ===== List ===== */
.list{background:var(--surface)}
.list .item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--split);cursor:pointer}
.list .item:last-child{border-bottom:none}
.list .item:active{background:var(--bg-container)}
.list .item .main{flex:1;min-width:0}
.list .item .t{font-size:14px;line-height:22px;font-weight:400;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.list .item .d{font-size:12px;color:var(--text-3);line-height:20px;margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list .item .extra{margin-left:auto;font-size:13px;color:var(--text-3);flex-shrink:0}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--brand-bg);display:flex;align-items:center;
  justify-content:center;font-size:20px;flex-shrink:0;overflow:hidden}
.avatar.sm{width:32px;height:32px;font-size:16px}

/* ===== Descriptions ===== */
.desc{display:flex;align-items:flex-start;gap:8px;padding:8px 0;font-size:14px;line-height:22px}
.desc + .desc{border-top:1px solid var(--split)}
.desc .k{color:var(--text-3);width:72px;flex-shrink:0;font-size:13px}
.desc .v{flex:1;text-align:right;word-break:break-all}

/* ===== Statistic ===== */
.stat{text-align:left}
.stat .v{font-size:30px;line-height:38px;font-weight:600}
.stat .v small{font-size:14px;font-weight:400;color:var(--text-2);margin-left:4px}
.stat .l{font-size:12px;color:var(--text-3);margin-top:2px}
.stat-row{display:flex;gap:12px}
.stat-row .stat{flex:1}

/* ===== Steps（竖向） ===== */
.steps{padding:2px 0}
.step{display:flex;gap:12px;position:relative;padding-bottom:18px}
.step:last-child{padding-bottom:0}
.step .dot{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:var(--surface);
  display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-3);flex-shrink:0;z-index:1}
.step.finish .dot{background:var(--brand);border-color:var(--brand);color:#fff}
.step.process .dot{background:var(--processing);border-color:var(--processing);color:#fff}
.step .ln{position:absolute;left:11.5px;top:24px;bottom:0;width:1px;background:var(--split)}
.step:last-child .ln{display:none}
.step .c{flex:1;padding-top:1px}
.step .c .t{font-size:14px;line-height:22px;font-weight:500}
.step.finish .c .t{color:var(--text)}
.step:not(.finish) .c .t{color:var(--text-3)}
.step .c .d{font-size:12px;color:var(--text-3);line-height:20px;margin-top:1px}

/* ===== Segmented ===== */
.seg{display:flex;background:var(--bg-container);border-radius:var(--radius);padding:2px;gap:2px}
.seg .s{flex:1;text-align:center;padding:5px 8px;border-radius:4px;font-size:13px;color:var(--text-2);cursor:pointer;
  white-space:nowrap;transition:all var(--ease)}
.seg .s.on{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.06)}

/* ===== 橙工市场：搜索 + 筛选 + 加载更多 ===== */
.mkt-bar{background:var(--surface);padding:10px 12px;display:flex;flex-direction:column;gap:10px}
.mkt-search{display:flex;align-items:center;gap:6px;background:var(--bg-container);border-radius:18px;padding:0 10px;height:36px}
.mkt-search .ms-ic{display:flex;align-items:center;color:var(--text-3);flex-shrink:0}
.mkt-search .ms-ic .icn{width:17px;height:17px}
.mkt-search input{flex:1;border:none;background:transparent;font-size:14px;outline:none;min-width:0}
.mkt-search .ms-x{display:none;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:50%;
  background:var(--split);color:var(--text-2);font-size:11px;cursor:pointer;flex-shrink:0;padding:0}
.loadmore{text-align:center;padding:13px;font-size:13px;color:var(--brand);cursor:pointer}
.loadmore:active{background:var(--split)}

/* ===== 橙工市场：顶部标签（找单子/找机构/找工人） ===== */
.mkt-tabs{display:flex;background:var(--surface);border-bottom:1px solid var(--split)}
.mkt-tabs .mt{flex:1;text-align:center;padding:13px 4px;font-size:15px;color:var(--text-2);cursor:pointer;position:relative}
.mkt-tabs .mt.on{color:var(--brand);font-weight:600}
.mkt-tabs .mt.on::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:28px;height:3px;border-radius:2px;background:var(--brand)}
.grp-t{padding:10px 16px 2px;font-size:13px;color:var(--ink-3)}

/* 开关（加入共享池） */
.sw{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}
.sw input{opacity:0;width:0;height:0}
.sw-sl{position:absolute;inset:0;background:var(--split);border-radius:24px;transition:.2s;cursor:pointer}
.sw-sl::before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:var(--surface);border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.sw input:checked + .sw-sl{background:var(--brand)}
.sw input:checked + .sw-sl::before{transform:translateX(20px)}

/* ===== 我的单子：状态标签 tabs ===== */
.ord-tabs{display:flex;gap:8px;overflow-x:auto;padding:12px;background:var(--surface);border-bottom:1px solid var(--split);
  position:sticky;top:0;z-index:5}
.ord-tabs::-webkit-scrollbar{display:none}
.ord-tabs .ot{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:6px 13px;border-radius:15px;background:var(--bg-container);
  font-size:13px;color:var(--text-2);cursor:pointer;white-space:nowrap;border:1px solid transparent}
.ord-tabs .ot.on{background:var(--grad-pill);color:#fff;border-color:transparent;font-weight:600;box-shadow:0 3px 8px rgba(244,127,21,.28)}
.ord-tabs .ot .otn{font-size:11px;color:var(--text-3);background:var(--surface);border-radius:8px;padding:0 5px;line-height:16px}
.ord-tabs .ot.on .otn{color:#fff;background:rgba(255,255,255,.22)}

/* 我的队伍：顶部总体情况固定 */
.teams-hd{position:sticky;top:0;z-index:5;background:var(--bg-s)}
.teams-hd .banner{border-radius:0}

/* ===== Empty ===== */
.empty{text-align:center;padding:40px 16px;color:var(--text-3);font-size:14px}
.empty .ic{font-size:40px;opacity:.25;margin-bottom:8px;display:block}

/* ===== Skeleton ===== */
.sk{background:linear-gradient(90deg,#f2f2f2 25%,#e8e8e8 37%,#f2f2f2 63%);background-size:400% 100%;
  animation:sks 1.4s ease infinite;border-radius:4px}
@keyframes sks{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* ===== Badge ===== */
.badge{position:relative;display:inline-flex}
.badge .cnt{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;
  background:var(--error);color:#fff;font-size:11px;line-height:16px;text-align:center}

/* ===== Divider ===== */
.divider{height:1px;background:var(--split);margin:12px 0}
.divider.text{display:flex;align-items:center;color:var(--text-3);font-size:12px;background:none;height:auto}
.divider.text:before,.divider.text:after{content:"";height:1px;background:var(--split);flex:1}
.divider.text span{padding:0 10px}

/* ===== Rate ===== */
.rate{display:inline-flex;gap:2px}
.rate i{font-size:22px;color:#f0f0f0;font-style:normal;cursor:pointer;transition:all var(--ease)}
.rate i.on{color:#fadb14}

/* ===== Input ===== */
.input{width:100%;height:var(--control-lg);padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);
  font-size:14px;font-family:inherit;outline:none;background:var(--surface);color:var(--text);transition:all var(--ease)}
.input:focus{border-color:var(--brand);box-shadow:0 0 0 2px rgba(255,80,0,.1)}
.input::placeholder{color:var(--text-4)}

/* ===== Chat ===== */
.chatwrap{display:flex;flex-direction:column;height:100%;min-height:0}
.chatbar{height:56px;background:var(--surface);border-bottom:1px solid var(--split);display:flex;align-items:center;
  padding:0 12px;flex-shrink:0}
.chatbar .lg{width:28px;height:28px;flex-shrink:0}
.chatbar .tt{flex:1;text-align:center}
.chatbar .tt b{display:block;font-size:16px;font-weight:600;line-height:22px}
.chatbar .tt span{display:block;font-size:12px;color:var(--text-3);line-height:16px}
.chatbar .ex{width:28px;display:flex;justify-content:flex-end;flex-shrink:0}
.chatbar .ex i{width:28px;height:28px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;
  font-size:15px;color:var(--text-2);cursor:pointer;font-style:normal}
.chatscroll{flex:1;overflow-y:auto;min-height:0;padding:12px}
.chatscroll::-webkit-scrollbar{width:0}
.chat{padding:0}
.bub{display:flex;max-width:92%;margin-bottom:14px;animation:fade .2s var(--ease)}
.bub.ai{justify-content:flex-start;margin-right:auto}
.bub.me{justify-content:flex-end;margin-left:auto;max-width:76%}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.bub .box{padding:12px 14px;border-radius:14px;font-size:15px;line-height:23px;white-space:pre-wrap;word-break:break-word}
.bub.ai .box{background:#fff;color:#191919;box-shadow:0 4px 16px rgba(0,0,0,.05);border-radius:4px 14px 14px 14px}
.bub.me .box{background:#f47f1542;color:#191919;box-shadow:0 4px 16px rgba(244,127,21,.10);text-align:right;border-radius:14px 4px 14px 14px}
.bub .quote{background:#fff4ea;border:1px solid #ffd9bf;border-radius:var(--radius);
  padding:8px 10px;margin-top:8px;font-size:13px;color:#b5480a;white-space:pre-wrap}
.bub .dialect{background:#eaf7ea;border:1px solid #bfe6bf;border-radius:var(--radius);
  padding:8px 10px;margin-top:6px;font-size:13px;color:#389e0d}
.bub-foot{margin-top:10px;padding-top:10px;border-top:1px solid #f2f2f2;display:flex;justify-content:flex-start}
.bub .play{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;
  background:#fff7ef;color:#f47f15;cursor:pointer}
.bub .play svg{width:18px;height:18px}
.typing{display:inline-flex;gap:4px;align-items:center;padding:11px 14px;background:var(--surface);border:1px solid var(--split);
  border-radius:8px;border-top-left-radius:2px;margin-bottom:12px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--text-4);animation:blink 1.1s infinite}
.typing i:nth-child(2){animation-delay:.18s}
.typing i:nth-child(3){animation-delay:.36s}
@keyframes blink{0%,60%,100%{opacity:.3}30%{opacity:1}}
.home-hd{display:flex;align-items:center;padding:8px 12px 8px;position:sticky;top:0;z-index:6;background:var(--bg-layout);border-bottom:1px solid var(--split)}
.logo-home{flex:1;text-align:center;padding:0 0 2px}
.logo-home svg{width:132px;height:48px}
/* 「智能在线」标识：参考图的金点 + 胶囊；默认隐藏，仅科技风显示 */
.online-dot{display:none}
body[data-theme="tech"] .online-dot{
  display:inline-flex;align-items:center;gap:5px;flex-shrink:0;
  font-size:12px;color:var(--ink-2);padding:3px 10px 3px 8px;border-radius:12px;
  background:rgba(255,255,255,.06);border:1px solid var(--border);
}
body[data-theme="tech"] .online-dot::before{
  content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 8px var(--accent);
}
.chat-clear{position:absolute;right:10px;top:10px;width:34px;height:34px;padding:0;border:none;background:var(--brand-bg);color:var(--brand-active);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:7}
.chat-clear svg{width:18px;height:18px}
.chat-clear:active{background:#ffe3d6}
/* "你可能想找"建议条 */
.sugg{background:var(--surface);border-top:1px solid var(--split);padding:8px 12px 10px}
.sugg-t{font-size:12px;color:var(--ink-3);margin-bottom:6px}
.sugg-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
.sugg-row::-webkit-scrollbar{display:none}
.sugg-c{flex-shrink:0;padding:7px 14px;border-radius:16px;border:1px solid var(--brand-border);background:var(--brand-bg);color:var(--brand-active);font-size:13px;cursor:pointer;white-space:nowrap}
.sugg-c:active{background:#ffe3d6}

/* 首页 AI 对话模式（贴合 首页-2）：输入栏与快捷栏贴底，气泡区独立滚动 */
.home.chat-mode{display:flex;flex-direction:column;height:100%;min-height:0}
.home.chat-mode .chat-head{flex-shrink:0}
.home.chat-mode .chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:12px}
.home.chat-mode .chat-foot{flex-shrink:0}
/* 对话页细标题栏（去大 hero，贴合 首页-2） */
.chat-head{display:flex;align-items:center;height:48px;padding:0 8px;background:#fff;border-bottom:1px solid #f0f0f0;position:relative}
.chat-head .ch-btn{width:36px;height:36px;border:none;background:transparent;color:#191919;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.chat-head .ch-btn svg{width:22px;height:22px}
.chat-head .ch-title{position:absolute;left:0;right:0;text-align:center;font-size:18px;font-weight:600;
  background:linear-gradient(0deg,#191919 0%,#512808 66.41%,#191919 100%);-webkit-background-clip:text;background-clip:text;color:transparent;pointer-events:none}
.chat-quick{display:flex;gap:9px;padding:14px 12px 6px}
.cq-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(180deg,#fff4ea 0%,#ffffff 38%);border:2px solid #fff;border-radius:14px;
  box-shadow:0 0 9px rgba(0,0,0,.10);padding:14px 0;cursor:pointer}
.cq-card:active{transform:scale(.97)}
.cq-ico{width:26px;height:26px}
.cq-ico img{width:100%;height:100%;object-fit:contain}
.cq-lb{font-size:15px;font-weight:500;color:#f47f15;line-height:1}
.chat-input-bar{display:flex;align-items:center;gap:10px;margin:4px 12px 12px;padding:7px 12px;
  background:#fff;border:2px solid #fff;border-radius:22px;box-shadow:0 4px 17.5px rgba(0,0,0,.04)}
.cib-ico{width:34px;height:34px;border:none;background:transparent;color:#191919;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.cib-ico svg{width:22px;height:22px}
.cib-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:15px;color:#191919}
.cib-input::placeholder{color:#b3b2b8}
.cib-send{width:40px;height:40px;border:none;background:transparent;padding:0;display:flex;flex-shrink:0;cursor:pointer}
.cib-send img{width:100%;height:100%;object-fit:contain}

/* 首页推荐条：工人「为你推荐的活」/ 中介「为你推荐的单子」 */
.rec-wrap{background:#fff;border-radius:20px;box-shadow:0 2px 10px rgba(0,0,0,.05);margin:6px 16px 12px;padding:16px 14px}
.rec-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:18px;font-weight:900;color:#191919}
.rec-more{font-size:13px;font-weight:400;color:#B3B2B8;cursor:pointer}
.rec-row{display:flex;gap:10px;overflow-x:auto;padding:0 16px 4px;-webkit-overflow-scrolling:touch}
.rec-row::-webkit-scrollbar{display:none}
.rec-card{flex:0 0 184px;background:var(--surface);border:1px solid var(--line-s);border-radius:10px;padding:10px 12px;cursor:pointer}
.rec-card:active{background:var(--bg-s)}
.rec-card .rc-h{display:flex;gap:4px;align-items:flex-start}
.rec-card .rc-t{font-size:14px;font-weight:600;color:var(--ink-1);line-height:1.35;flex:1}
.rec-card .rc-m{font-size:12px;color:var(--ink-3);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rec-card .rc-b{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.rec-card .rc-p{font-size:14px;font-weight:600;color:var(--brand)}
.rec-card .rc-n{font-size:12px;color:var(--ink-3)}

/* 快捷入口（AntD 风格宫格） */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.grid .g{text-align:center;padding:10px 2px;border-radius:var(--radius);cursor:pointer}
.grid .g:active{background:var(--split)}
.grid .g .ico{width:26px;height:26px;color:var(--brand);margin:0 auto;display:flex;align-items:center;justify-content:center}
.grid .g .ico .icn{width:22px;height:22px}
.grid .g .nm{font-size:12px;color:var(--text-2);margin-top:4px}

/* ===== Drawer ===== */
.mask{position:absolute;inset:0;background:var(--bg-mask);z-index:60;display:none;align-items:flex-end}
.mask.show{display:flex}
.drawer{width:100%;background:var(--surface);border-radius:12px 12px 0 0;max-height:78%;display:flex;flex-direction:column;
  animation:up .22s var(--ease);overflow:hidden}
@keyframes up{from{transform:translateY(100%)}to{transform:none}}
.drawer .dh{padding:14px 16px;border-bottom:1px solid var(--split);display:flex;align-items:center;flex-shrink:0}
.drawer .dh b{font-size:16px;font-weight:600}
.drawer .dh .x{margin-left:auto;font-size:18px;color:var(--text-3);cursor:pointer;width:28px;text-align:center}
.drawer .db{flex:1;overflow-y:auto;padding:4px 0}
.drawer .df{padding:12px 16px;border-top:1px solid var(--split);flex-shrink:0}

/* ===== 居中弹窗（AI 演示详情） ===== */
.modal-mask{position:absolute;inset:0;background:var(--bg-mask);z-index:70;display:none;align-items:center;justify-content:center;padding:28px 20px}
.modal-mask.show{display:flex}
.modal{width:100%;max-width:340px;max-height:82%;background:var(--surface);border-radius:14px;display:flex;flex-direction:column;
  overflow:hidden;animation:pop .2s var(--ease);box-shadow:0 12px 40px rgba(0,0,0,.18)}
@keyframes pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
.modal .mt{padding:14px 16px;border-bottom:1px solid var(--split);font-size:16px;font-weight:600;color:var(--ink-1);text-align:center;flex-shrink:0}
.modal .mbody{flex:1;overflow-y:auto;padding:4px 0}
.modal .mfoot{padding:12px 14px;border-top:1px solid var(--split);display:flex;gap:8px;flex-shrink:0}
.modal .mfoot .btn{flex:1}

/* ===== message（顶部居中） ===== */
.msgbox{position:absolute;top:96px;left:0;right:0;z-index:90;display:flex;flex-direction:column;align-items:center;
  gap:8px;pointer-events:none}
.message{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:9px 16px;font-size:14px;
  display:flex;align-items:center;gap:8px;animation:down .22s var(--ease);max-width:88%}
@keyframes down{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.message .mi{font-size:15px}
.message.success .mi{color:var(--success)}
.message.error .mi{color:var(--error)}
.message.info .mi{color:var(--info)}

/* ===== TabBar ===== */
.tabbar{height:55px;background:var(--surface);border-top:1px solid var(--split);display:flex;align-items:stretch}
.tabbar .tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  color:#7a7a7a;font-size:11px;cursor:pointer}
.tabbar .tab .ico{width:23px;height:23px;display:flex;align-items:center;justify-content:center}
.tabbar .tab .ico .icn{width:23px;height:23px}
.tabbar .tab.on{color:var(--brand);font-weight:600}
/* Figma 公共组件：底部页签（实色图标 + 橙系选中态，科技风由下方 override 接管） */
.tabbar{background:#fff;border-top:1px solid #F0F0F0}
.tabbar .tab{color:#191919;font-size:12px}
.tabbar .tab.on{color:#F47F15}
.tabbar .tab .ico svg{width:22px;height:22px;display:block}

/* ================================================================
   红岩哨兵移动端规范（i橙工化：主色换橙 #FF5000，其余沿用规范）
   适用：除首页外的全部内容页
   要点：去卡片（纯白面 + 10px 横条分隔）、主色贯穿、状态双重编码
   ================================================================ */
:root{
  --gold:#C08A1E;
  --success-s:#389E0D; --success-bg-s:#f6ffed;
  --warn-s:#D48806;    --warn-bg-s:#fffbe6;
  --crisis:#A4131F;    --crisis-bg-s:#fff1f0;
  --ink-1:#1A1A1A; --ink-2:#666666; --ink-3:#999999; --line-s:#ebedf0; --bg-s:#f7f8fa;
  /* 面板底色：抽成变量，深色（科技风）主题只需覆盖这两个即可整体换肤 */
  --surface:#ffffff; --surface-2:#f7f8fa;
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px;
}

/* 10px 横条：去卡片后的区块分隔（替代卡片描边） */
.rbar{height:10px;background:var(--bg-s)}

/* 纯白内容面（无阴影、无圆角套壳） */
.surf{background:var(--surface);padding:var(--s-4) 16px}
.surf + .surf{border-top:1px solid var(--line-s)}

/* 区块标题：圆形浅底图标 + 标题（红点+标题识别模式） */
.sect{display:flex;align-items:center;gap:8px;padding:14px 16px 8px;background:var(--bg-s)}
.sect .sec-ic{width:22px;height:22px;border-radius:50%;background:var(--brand-bg);display:flex;
  align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.sect h4{font-size:16px;font-weight:600;color:var(--ink-1);line-height:22px}
.sect .more{margin-left:auto;font-size:13px;color:var(--brand-active)}

/* 可折叠区块（默认折叠） */
.coll{background:var(--bg-s)}
.coll-hd{display:flex;align-items:center;padding:14px 16px 8px;cursor:pointer}
.coll-t{font-size:16px;font-weight:600;color:var(--ink-1);line-height:22px}
.coll-arw{margin-left:auto;color:var(--ink-3);font-size:18px;transition:transform .2s var(--ease)}
.coll.open .coll-arw{transform:rotate(90deg)}
.coll-bd{display:none;background:var(--surface)}
.coll.open .coll-bd{display:block}

/* 列表行（去卡片，14px 上下 padding，右标签 + 箭头） */
.srow{position:relative;display:flex;align-items:center;gap:12px;padding:12px;margin:10px 12px;
  background:#f6f7f8;border-radius:14px;cursor:pointer}
.srow + .srow{border-top:none;margin-top:0}
.srow:active{background:#eef0f2}
.srow .av{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#FFB36B,#F26A1B);display:flex;align-items:center;
  justify-content:center;font-size:22px;flex-shrink:0;color:#fff}
.srow .mn{flex:1;min-width:0}
.srow .tt{font-size:15px;font-weight:600;color:var(--ink-1);line-height:22px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.srow .ds{font-size:13px;color:var(--ink-2);line-height:20px;margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srow .ex{margin-left:auto;display:flex;align-items:center;gap:6px;flex-shrink:0}
.srow .arw{color:#c8c8c8;font-size:18px}

/* 状态标签（五态，圆角 pill，字重 600，状态用颜色+文案双重编码） */
.st{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;font-size:12px;
  font-weight:600;line-height:20px;white-space:nowrap}
.st-red{background:var(--brand);color:#fff}
.st-brand{background:var(--brand-bg);color:var(--brand-active)}
.st-gray{background:#f2f3f5;color:var(--ink-2)}
.st-warn{background:var(--warn-bg-s);color:var(--warn-s)}
.st-success{background:var(--success-bg-s);color:var(--success-s)}
.st-crisis{background:var(--crisis-bg-s);color:var(--crisis)}

/* 主题 Banner：主色渐变 + 统计区（数字等宽） */
.banner{position:relative;background:linear-gradient(135deg,var(--brand),var(--brand-active));color:#fff;padding:16px}
.banner .bt{font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px}
.banner .bs{font-size:12px;opacity:.9;margin-top:2px}
.banner .bstat{display:flex;gap:12px;margin-top:14px}
.banner .bstat .b{flex:1}
.banner .bstat .b .v{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.banner .bstat .b .l{font-size:12px;opacity:.85;margin-top:1px}

/* 队伍管理 Banner 右上角：邀请码二维码入口 */
.banner-right{position:absolute;top:12px;right:12px}
.banner-qr{width:40px;height:40px;border:none;border-radius:50%;background:rgba(255,255,255,.22);color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--ease)}
.banner-qr svg{width:22px;height:22px}
.banner-qr:active{background:rgba(255,255,255,.42)}

/* 我的页：账户+数据合并块的统计网格（数字放大、文字变小） */
.mstat{display:flex;background:var(--card);border-top:1px solid var(--line-s)}
.mstat .mc{flex:1;padding:16px 4px;text-align:center;border-right:1px solid var(--line-s)}
.mstat .mc:last-child{border-right:none}
.mstat .mv{font-size:26px;font-weight:700;color:var(--ink-1);line-height:1.1;font-variant-numeric:tabular-nums}
/* 只放大数字，单位保持小字 */
.mstat .mvn{font-size:26px;letter-spacing:-0.5px}
.mstat .mvu{font-size:12px;font-weight:500;color:var(--ink-3);margin-left:2px;letter-spacing:0}
.mstat .ml{font-size:11px;color:var(--ink-3);margin-top:7px}

/* 状态横幅 StatusBanner（按状态渐变） */
.sbn{padding:16px;color:#fff}
.sbn.processing{background:linear-gradient(135deg,#FF5000,#D93A00)}
.sbn.warn{background:linear-gradient(135deg,#D48806,#B45309)}
.sbn.success{background:linear-gradient(135deg,#52c41a,#0f6b30)}
.sbn.gray{background:linear-gradient(135deg,#8c8c8c,#595959)}
.sbn .s1{font-size:19px;font-weight:800;line-height:26px}
.sbn .s2{font-size:12px;opacity:.9;margin-top:2px;font-variant-numeric:tabular-nums}

/* 定义列表 def-list */
.dl{background:var(--surface);padding:4px 16px}
.dl .dr{display:flex;gap:8px;padding:11px 0;font-size:15px;line-height:22px}
.dl .dr + .dr{border-top:1px solid var(--line-s)}
.dl .dr .k{color:var(--ink-2);width:80px;flex-shrink:0;font-size:14px}
.dl .dr .v{flex:1;text-align:right;word-break:break-all}
.dl .dr .v.hl{color:var(--brand-active);font-weight:600}

/* 流程时间轴 FlowTimeline */
.tl{background:var(--surface);padding:14px 16px}
.tl .nd{display:flex;gap:12px;position:relative;padding-bottom:18px}
.tl .nd:last-child{padding-bottom:0}
.tl .nd .dt{width:22px;height:22px;border-radius:50%;border:1px solid var(--line-s);background:var(--surface);
  display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--ink-3);flex-shrink:0;z-index:1}
.tl .nd.done .dt{background:var(--success-s);border-color:var(--success-s);color:#fff}
.tl .nd.active .dt{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 3px rgba(255,80,0,.18)}
.tl .nd .ln{position:absolute;left:10.5px;top:22px;bottom:0;width:1px;background:var(--line-s)}
.tl .nd.done .ln{background:var(--success-s)}
.tl .nd:last-child .ln{display:none}
.tl .nd .cc .t{font-size:15px;line-height:22px;font-weight:500;color:var(--ink-3)}
.tl .nd.done .cc .t,.tl .nd.active .cc .t{color:var(--ink-1)}
.tl .nd.active .cc .t{color:var(--brand-active)}
.tl .nd .cc .d{font-size:12px;color:var(--ink-3);line-height:20px;margin-top:1px}

/* 表单标签：15px 纯黑 + 左侧 5px 渐变竖线 */
.fl{font-size:15px;font-weight:600;color:var(--ink-1);padding:10px 16px;background:var(--surface);
  border-left:5px solid transparent;border-image:linear-gradient(180deg,#FF5000,#FF6A00) 1}
.fl + .fl{border-top:1px solid var(--line-s)}

/* 空态 Empty（64px 浅灰图标 + 标题 + 说明 + 主按钮） */
.ep{text-align:center;padding:48px 24px;background:var(--surface)}
.ep .ic{font-size:64px;opacity:.18;display:block;line-height:1}
.ep .t{font-size:16px;font-weight:600;color:var(--ink-1);margin-top:12px}
.ep .d{font-size:14px;color:var(--ink-3);margin-top:4px}
.ep .btn{margin-top:16px}

/* 底部操作条 ActionBar */
.abar{display:flex;gap:8px;padding:10px 12px;background:var(--surface);border-top:1px solid var(--line-s)}
.abar .btn{flex:1}

/* 数字等宽 */
.num{font-variant-numeric:tabular-nums}

/* ================================================================
   登录 / 选择角色 / 认证流程页
   ================================================================ */
.auth-page{padding:54px 24px 32px;min-height:100%;display:flex;flex-direction:column;justify-content:center;
  background:var(--bg-layout)}
.auth-logo{text-align:center;margin-bottom:6px}
.auth-logo svg{width:156px;height:56px}
.auth-slogan{text-align:center;color:var(--ink-2);font-size:13px;margin-bottom:30px}
.auth-title{font-size:18px;font-weight:700;color:var(--ink-1)}
.auth-title2{font-size:22px;font-weight:800;color:var(--ink-1);text-align:center}
.auth-sub2{font-size:13px;color:var(--ink-2);margin-top:6px;line-height:20px}
.auth-card{background:var(--surface);border-radius:12px;padding:20px 16px;box-shadow:var(--shadow-1)}
.auth-card .btn{margin-top:18px}
.auth-tip{font-size:12px;color:var(--ink-3);text-align:center;margin-top:12px}
.auth-face{font-size:13px;color:var(--ink-3);text-align:center;padding:10px 0}
.role-list{display:flex;flex-direction:column;gap:12px}
.role-card{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:12px;padding:16px;cursor:pointer;
  box-shadow:var(--shadow-1)}
.role-card:active{background:var(--bg-container)}
.role-ico{width:44px;height:44px;border-radius:12px;background:var(--brand-bg);display:flex;align-items:center;
  justify-content:center;font-size:24px;flex-shrink:0}
.role-main{flex:1;min-width:0}
.role-name{font-size:16px;font-weight:600;color:var(--ink-1)}
.role-desc{font-size:13px;color:var(--ink-2);margin-top:2px}
.role-card .arw{color:#c8c9cc;font-size:18px}
.auth-item{display:flex;align-items:center;gap:8px;padding:9px 0;font-size:14px;color:var(--ink-1)}
.auth-item .dot{width:22px;height:22px;border-radius:50%;background:var(--brand-bg);color:var(--brand-active);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}

/* ================================================================
   首页快捷卡片（扁平 logo 卡片，置于输入框上方）
   ================================================================ */
/* 首页快捷宫格（Figma 四色卡片） */
.qcards.fig{display:flex;gap:9px;padding:14px 16px 4px;background:transparent}
.qcard.fig{flex:1;min-width:0;border:2px solid #fff;border-radius:16px;
  box-shadow:0 0 17.5px rgba(0,0,0,.10);padding:14px 4px 12px;text-align:center;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:8px}
.qcard.fig.blue{background:linear-gradient(180deg,#E6F0FF 0%,#FFFFFF 100%)}
.qcard.fig.blue .qico{color:#448CFA}.qcard.fig.blue .qnm{color:#448CFA}
.qcard.fig.orange{background:linear-gradient(180deg,#FFF0E2 0%,#FFFFFF 100%)}
.qcard.fig.orange .qico{color:#F47F15}.qcard.fig.orange .qnm{color:#F47F15}
.qcard.fig .qico{width:calc(48px * var(--fig-scale));height:calc(48px * var(--fig-scale));display:flex;align-items:center;justify-content:center}
.qcard.fig .qico img{width:calc(48px * var(--fig-scale));height:calc(48px * var(--fig-scale));object-fit:contain}
.qcard.fig .qico svg{width:calc(44px * var(--fig-scale));height:calc(44px * var(--fig-scale))}
.qcard.fig .qnm{font-size:calc(32px * var(--fig-scale));font-weight:400;line-height:1.2}

/* 首页输入条：左拍照 / 中圆角输入 / 右声音 + 加号 */
.ci{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface)}
.cib{width:38px;height:38px;flex-shrink:0;border-radius:50%;border:1px solid var(--brand-border);background:var(--brand-bg);
  color:var(--brand-active);font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.cib:active{background:#ffe3d6}
.ci-input{flex:1;min-width:0;height:38px;border-radius:19px;border:1px solid var(--border);padding:0 14px;
  font-size:14px;font-family:inherit;outline:none;background:var(--surface);color:var(--text)}
.ci-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px rgba(255,80,0,.1)}
.ci-input::placeholder{color:var(--text-4)}

/* 首页（无标题栏）时隐藏 navbar 由 JS 控制；此处确保 auth/home 页 body 不挤 */
.footer.bare{background:var(--surface)}

/* ===== 五星评分 ===== */
.stars{color:#faad14;letter-spacing:1px;font-size:13px;white-space:nowrap}
.score{font-size:12px;color:var(--ink-3);margin-left:4px}

/* 我的评价（已完成单详情内展示） */
.myrev-stars{margin-bottom:8px}
.myrev-stars .stars{font-size:18px;letter-spacing:2px}
.myrev-stars .score{font-size:14px;margin-left:6px}
.myrev-text{font-size:14px;color:var(--ink-2);line-height:22px;background:var(--bg-s);border-radius:8px;padding:10px 12px;margin-top:2px}
.myrev-empty{color:var(--ink-3);background:transparent;padding:0}

/* ===== 实景照片 ===== */
.cover{width:100%;height:180px;background:var(--bg-s);overflow:hidden;position:relative}
.cover img{width:100%;height:100%;object-fit:cover;display:block}
.thumb{width:56px;height:42px;border-radius:6px;overflow:hidden;flex-shrink:0;background:var(--bg-s)}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.photo-row{display:flex;gap:8px;overflow-x:auto;padding:8px 0}
.photo-row img{height:112px;width:auto;border-radius:8px;flex-shrink:0;background:var(--bg-s)}

/* 工人看单：还差 N 人（醒目） */
.need-callout{display:flex;align-items:center;gap:6px;padding:16px;background:linear-gradient(135deg,var(--brand),var(--brand-active));color:#fff}
.need-callout .nc-n{font-size:34px;font-weight:700;line-height:1}
.need-callout .nc-t{font-size:15px;font-weight:600}
.need-callout .nc-d{margin-left:auto;font-size:12px;opacity:.92;text-align:right;line-height:16px}

/* 单子详情顶部照片轮播（左右滑动） */
.gallery{position:relative;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;background:#000}
.gallery::-webkit-scrollbar{display:none}
.gallery .g-item{flex:0 0 100%;scroll-snap-align:center;height:210px}
.gallery .g-item img{width:100%;height:100%;object-fit:cover;display:block}
.gallery.gallery-sm .g-item{height:150px}
.g-count{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.5);color:#fff;font-size:12px;
  padding:2px 9px;border-radius:10px}

/* ===== 工人上工：四步横向 + 大扫一扫 + 完工/结算 ===== */
.wsteps{display:flex;background:var(--surface);padding:14px 8px;border-bottom:1px solid var(--split)}
.wst{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;position:relative}
.wst .wnum{width:22px;height:22px;border-radius:50%;background:var(--split);color:var(--text-3);font-size:12px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wst .wt{font-size:12px;color:var(--text-3);text-align:center}
.wst.active .wnum{background:var(--brand);color:#fff}
.wst.active .wt{color:var(--brand);font-weight:600}
.wst.done .wnum{background:var(--success-bg,#e8f7ef);color:#1FA971}
.wst.done .wt{color:var(--ink-2)}
.wst:not(:last-child)::after{content:"";position:absolute;top:11px;left:calc(50% + 16px);right:calc(-50% + 16px);
  height:2px;background:var(--split)}
.wst.done:not(:last-child)::after{background:#bfe8d2}
.scanbox{margin:16px;padding:36px 20px;background:var(--surface);border:2px dashed var(--brand-border);border-radius:16px;
  text-align:center;cursor:pointer}
.scanbox:active{background:var(--brand-bg)}
.scanbox .scan-ic{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--brand-bg);
  color:var(--brand);display:flex;align-items:center;justify-content:center}
.scanbox .scan-ic .icn{width:34px;height:34px}
.scanbox .scan-t{font-size:18px;font-weight:600;color:var(--ink-1)}
.scanbox .scan-d{font-size:13px;color:var(--ink-3);margin-top:6px}
.wchecked{margin:16px;padding:14px 16px;background:var(--success-bg,#e8f7ef);border-radius:12px;color:#1a7f4f;
  font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px}
.wchecked .wc-ic{width:22px;height:22px;border-radius:50%;background:#1FA971;color:#fff;display:flex;
  align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.finishbtn{margin:0 16px;width:calc(100% - 32px);height:48px;font-size:16px}
.wwait,.wpaid{margin:16px;padding:24px 16px;background:var(--surface);border-radius:14px;text-align:center}
.wwait .ww-ic{font-size:38px}
.wwait .ww-t{font-size:17px;font-weight:600;color:var(--ink-1);margin-top:8px}
.wwait .ww-d{font-size:13px;color:var(--ink-3);margin-top:6px}
.wpaid{border:1px solid var(--brand-border);background:var(--brand-bg)}
.wpaid .wp-t{font-size:18px;font-weight:700;color:var(--brand-active)}
.wpaid .wp-d{font-size:13px;color:var(--ink-2);margin-top:6px}
.wdone{margin:16px;padding:28px 16px;background:var(--surface);border-radius:14px;text-align:center}
.wdone .wd-ic{width:52px;height:52px;margin:0 auto;border-radius:50%;background:#1FA971;color:#fff;
  font-size:26px;display:flex;align-items:center;justify-content:center}
.wdone .wd-t{font-size:18px;font-weight:600;color:var(--ink-1);margin-top:12px}
.wdone .wd-d{font-size:13px;color:var(--ink-3);margin-top:4px}
.photo-upload{border:1.5px dashed var(--brand-border);background:var(--brand-bg);border-radius:10px;
  padding:22px;text-align:center;color:var(--brand-active);font-size:14px;cursor:pointer;margin-bottom:12px}
.photo-upload:active{background:#ffe3d6}

/* 可选行（承接选队伍） */
.pick-row{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface);cursor:pointer;border-bottom:1px solid var(--line-s)}
.pick-row .pick{color:var(--text-3);font-size:16px}
.pick-row.on .pick{color:var(--brand)}
.pick-row .mn{flex:1;min-width:0}
.pick-row .tt{font-size:14px;color:var(--ink-1)}
.pick-row .ds{font-size:12px;color:var(--ink-3);margin-top:2px}
/* 承接弹窗：表单内容留左右边距，避免文字贴边溢出 */
.accept-form{padding:0 16px}
.accept-form .pick-row{padding:12px 2px}
.accept-form .grp-t{font-size:13px;color:var(--ink-3);margin:14px 0 6px}
/* 勾选行（已线下支付） */
.chk-row{display:flex;align-items:center;gap:8px;padding:12px 2px;font-size:14px;color:var(--ink-1);cursor:pointer}
.chk-row input{width:18px;height:18px;accent-color:var(--brand)}

/* 我的页顶部角色切换按钮 */
.role-switch{width:36px;height:36px;border:none;border-radius:50%;background:var(--brand-bg);color:var(--brand);
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.role-switch svg{width:19px;height:19px}
.role-switch:active{background:#ffe3d6}

/* ===== 我的页模块入口 ===== */
.me-head{background:var(--surface);padding:16px}
.me-head .av{width:56px;height:56px;border-radius:50%;background:var(--brand-bg);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}
.me-grid{display:flex;flex-wrap:wrap;gap:10px;padding:0 16px 12px;background:var(--surface)}
.me-mod{flex:1 1 calc(50% - 10px);min-width:120px;background:var(--surface);border:1px solid var(--line-s);border-radius:10px;padding:14px 12px;display:flex;align-items:center;gap:10px;cursor:pointer}
.me-mod:active{background:var(--bg-s)}
.me-mod .ico{width:32px;height:32px;border-radius:50%;background:var(--brand-bg);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.me-mod .nm{font-size:14px;font-weight:500;color:var(--ink-1)}

/* ===== 认证清单 ===== */
.auth-row{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--line-s)}
.auth-row:last-child{border-bottom:none}
.auth-row .ic{width:24px;height:24px;border-radius:50%;background:var(--brand-bg);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.auth-row .ok{color:var(--success-s)}
.auth-row .no{color:var(--text-4)}
.auth-row .tt{flex:1;font-size:14px;color:var(--ink-1)}
.auth-row .st{font-size:12px}

/* ===== 弹窗：隐藏滚动条 + 图片左右留白 ===== */
.modal .mbody{scrollbar-width:none;-ms-overflow-style:none}
.modal .mbody::-webkit-scrollbar{display:none}
.modal .photo-row{padding:0 16px;margin-top:4px}
.modal .photo-row img{height:108px;cursor:zoom-in}
.modal .cover{margin:0 16px;border-radius:10px;height:160px;width:auto}

/* ===== 图片大图查看（点开看大图） ===== */
.img-mask{position:absolute;inset:0;background:rgba(0,0,0,.88);z-index:80;display:none;align-items:center;justify-content:center;padding:24px}
.img-mask.show{display:flex}
.img-mask img{max-width:100%;max-height:100%;border-radius:8px;object-fit:contain;background:var(--surface)}
.img-mask::after{content:"✕";position:absolute;top:16px;right:18px;color:#fff;font-size:22px;opacity:.8}

/* ===== 首页「开启新对话」按钮（图标化，无文字） ===== */
.chat-clear{position:absolute;right:10px;top:10px;width:34px;height:34px;padding:0;border:none;background:var(--brand-bg);
  color:var(--brand-active);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:7}
.chat-clear svg{width:18px;height:18px}
.chat-clear:active{background:#ffe3d6}

/* ===== 首页输入条：扁平线性图标（camera / mic / upload） ===== */
.cib{width:36px;height:36px;flex-shrink:0;border-radius:50%;border:none;background:var(--brand-bg);
  color:var(--brand-active);display:flex;align-items:center;justify-content:center;cursor:pointer}
.cib:active{background:#ffe3d6}
.cib.on{background:var(--brand);color:#fff}
.cib .icn{width:20px;height:20px;stroke-width:1.8}
.ci-input{flex:1;min-width:0;height:38px;border-radius:19px;border:1px solid var(--border);padding:0 14px;
  font-size:14px;font-family:inherit;outline:none;background:var(--surface);color:var(--text)}
.ci-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px rgba(255,80,0,.1)}
.ci-input::placeholder{color:var(--text-4)}

/* ================================================================
   科技风主题（夜间）· body[data-theme="tech"]
   与默认 AntD 浅色主题并存，通过「我的」页右上角图标切换
   做法：覆盖变量整体换肤 + 叠加霓虹/发光/网格等科技感效果
   ================================================================ */
body[data-theme="tech"]{
  /* 主色：参考图蓝紫（交互/品牌/选中态） */
  --brand:#4A7CF7; --brand-hover:#6E96FF; --brand-active:#2F5BE0;
  --brand-bg:rgba(74,124,247,.16); --brand-border:rgba(74,124,247,.38);
  --success:#00E676; --success-bg:rgba(0,230,118,.12); --success-border:rgba(0,230,118,.32);
  --warning:#FFB020;  --warning-bg:rgba(255,176,32,.12); --warning-border:rgba(255,176,32,.32);
  --error:#FF4D6D;    --error-bg:rgba(255,77,109,.12);   --error-border:rgba(255,77,109,.32);
  --info:#38BDF8;     --info-bg:rgba(56,189,248,.12);    --info-border:rgba(56,189,248,.32);
  --processing:#4A7CF7;
  /* 脐橙金：参考图的核心强调色（约工/邀约/空闲徽章/主 CTA） */
  --accent:#FFB020; --accent-2:#FF8A00;
  --accent-bg:rgba(255,176,32,.14); --accent-border:rgba(255,176,32,.38);
  --text:rgba(233,240,255,.94);
  --text-2:rgba(160,180,215,.86);
  --text-3:rgba(140,160,200,.58);
  --text-4:rgba(140,160,200,.34);
  --border:rgba(120,160,255,.20);
  --split:rgba(120,160,255,.10);
  /* 深蓝渐变底（参考图是靛蓝而非近黑） */
  --bg-layout:#0A1A38;
  --bg-container:#0E2242;
  /* 面板：实色深蓝（比页面底亮一档，形成层次）——参考图即实色卡片为主，
     玻璃半透明只留给浮动条（.ci / .tabbar / .rec-card），避免文字透叠 */
  --surface:#101E38;
  --surface-2:#0C1830;
  --bg-mask:rgba(4,8,20,.66);
  --gold:#FFB020;
  --success-s:#00E676; --success-bg-s:rgba(0,230,118,.12);
  --warn-s:#FFB020;    --warn-bg-s:rgba(255,176,32,.12);
  --crisis:#FF4D6D;    --crisis-bg-s:rgba(255,77,109,.12);
  --ink-1:#E9F0FF; --ink-2:#A0B4D7; --ink-3:#8CA0C8; --line-s:rgba(120,160,255,.14); --bg-s:rgba(255,255,255,.04);
  --shadow-1:0 4px 18px rgba(2,6,18,.42);
  --shadow-2:0 10px 34px rgba(2,6,18,.52);
  background:#061027;
}
/* 屏幕底纹：粒子波 3D + 深蓝渐变遮罩 + 蓝紫/橙双光晕 + 细网格（参考图风格） */
body[data-theme="tech"] .screen{
  background-color:var(--bg-layout);
  background-image:
    radial-gradient(ellipse at 20% -2%, rgba(74,124,247,.30), transparent 52%),
    radial-gradient(ellipse at 86% 8%, rgba(255,138,0,.16), transparent 46%),
    linear-gradient(180deg, rgba(10,26,56,.70), rgba(6,16,39,.88)),
    url('/images/tech/particle-wave.png'),
    linear-gradient(rgba(120,160,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120,160,255,.05) 1px, transparent 1px);
  background-size:100% 100%,100% 100%,100% 100%,cover,30px 30px,30px 30px;
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat,repeat;
}
body[data-theme="tech"] .phone{background:#061027;box-shadow:0 0 0 1px rgba(120,160,255,.16),var(--shadow-2)}
/* 状态栏 / 导航：深蓝渐变 + 脐橙堆图暗化 + 发光边 */
body[data-theme="tech"] .statusbar{color:var(--text-2)}
body[data-theme="tech"] .navbar{
  background-image:linear-gradient(180deg,rgba(10,26,56,.86) 0%,rgba(14,34,66,.94) 100%),url('/images/tech/hero.jpg');
  background-size:cover,cover;
  background-position:center,center 62%;
  background-repeat:no-repeat,no-repeat;
  border-bottom:1px solid rgba(120,160,255,.24);
  box-shadow:0 2px 14px rgba(74,124,247,.18);
}
/* 「我的」页头部：脐橙果园实拍 + 暗化 */
body[data-theme="tech"] .prof-header{
  background-image:linear-gradient(135deg,rgba(7,11,18,.86) 0%,rgba(13,20,36,.95) 100%),url('/images/tech/grove.jpg');
  background-size:cover,cover;
  background-position:center,center 42%;
  background-repeat:no-repeat,no-repeat;
}
/* 首页 AI 区顶部：蓝底脐橙球实拍 + 轻遮罩（参考图悬浮脐橙） */
body[data-theme="tech"] .home-hd{
  background-image:linear-gradient(180deg,rgba(10,26,56,.50) 0%,rgba(6,16,39,.90) 100%),url('/images/tech/orange-orb.jpg');
  background-size:cover,cover;
  background-position:center,center 50%;
  background-repeat:no-repeat,no-repeat;
  border-bottom:1px solid rgba(120,160,255,.18);
}
/* 推荐卡片：右上角脐橙金光，玻璃底 */
body[data-theme="tech"] .rec-card{
  background-color:var(--surface);
  background-image:radial-gradient(circle at 92% 8%, rgba(255,176,32,.18), transparent 48%);
  border-color:rgba(120,160,255,.22);box-shadow:0 4px 16px rgba(2,6,18,.36);
}
body[data-theme="tech"] .navbar .title b{color:#EAF2FF;text-shadow:0 0 12px rgba(74,124,247,.55)}
body[data-theme="tech"] .navbar .title span{color:var(--ink-2)}
/* 底部页签：毛玻璃 + 顶部霓虹线 */
body[data-theme="tech"] .tabbar{
  background:rgba(8,18,42,.90);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-top:1px solid rgba(120,160,255,.20);box-shadow:0 -2px 18px rgba(74,124,247,.14);
}
body[data-theme="tech"] .tabbar .tab{color:var(--ink-3)}
body[data-theme="tech"] .tabbar .tab.on{color:var(--brand);text-shadow:0 0 10px rgba(74,124,247,.70)}
body[data-theme="tech"] .tabbar .tab.on .ico{filter:drop-shadow(0 0 6px rgba(74,124,247,.75))}
/* 主按钮：脐橙金渐变（参考图「约工」主 CTA） */
body[data-theme="tech"] .btn.primary{
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  border-color:rgba(255,176,32,.45);
  color:#2A1A00;font-weight:600;
  box-shadow:0 4px 16px rgba(255,138,0,.32);
}
body[data-theme="tech"] .btn{background:var(--surface-2);border-color:var(--border);color:var(--text)}
body[data-theme="tech"] .btn.primary{background:linear-gradient(135deg,#4A7CF7,#6E5BF0);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(74,124,247,.32)}
body[data-theme="tech"] .btn.primary:active{filter:brightness(1.08)}
body[data-theme="tech"] .btn.danger{background:var(--error);color:#fff}
/* 内容面走玻璃拟态（仅页面内浮层；弹窗不走玻璃） */
body[data-theme="tech"] .surf,
body[data-theme="tech"] .srow,
body[data-theme="tech"] .card,
body[data-theme="tech"] .footer,
body[data-theme="tech"] .mkt-bar,
body[data-theme="tech"] .mkt-tabs,
body[data-theme="tech"] .ord-tabs,
body[data-theme="tech"] .rec-wrap,
body[data-theme="tech"] .sugg,
body[data-theme="tech"] .chatbar,
body[data-theme="tech"] .bub.ai .box,
body[data-theme="tech"] .typing,
body[data-theme="tech"] .mstat,
body[data-theme="tech"] .coll-bd,
body[data-theme="tech"] .list,
body[data-theme="tech"] .ep{background:var(--surface)}
/* 弹窗（底部抽屉 / 居中弹窗 / toast）必须实色，不能透出背景内容 */
body[data-theme="tech"] .drawer,
body[data-theme="tech"] .modal{
  background:var(--surface);border:1px solid rgba(120,160,255,.16);
  box-shadow:0 12px 40px rgba(2,6,18,.62);
}
body[data-theme="tech"] .message{
  background:var(--surface);color:var(--text);border:1px solid rgba(120,160,255,.20);
  box-shadow:var(--shadow-2);
}
/* 面板已改实色，玻璃半透明只留给浮动条 */
body[data-theme="tech"] .srow:active,
body[data-theme="tech"] .rec-card:active{background:rgba(74,124,247,.14)}
body[data-theme="tech"] .rec-card .rc-p{color:var(--accent);text-shadow:0 0 8px rgba(255,176,32,.45)}
/* 首页输入条：玻璃条（半透明 + 模糊） */
body[data-theme="tech"] .ci{background:rgba(255,255,255,.05);border-top:1px solid rgba(120,160,255,.16);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body[data-theme="tech"] .ci-input{background:rgba(255,255,255,.05);border-color:var(--border);color:var(--text)}
body[data-theme="tech"] .ci-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px rgba(74,124,247,.18)}
body[data-theme="tech"] .ci-input::placeholder{color:var(--text-4)}
body[data-theme="tech"] .cib{background:rgba(74,124,247,.12);color:var(--brand)}
body[data-theme="tech"] .cib.on{background:var(--brand);color:#04121B}
/* 快捷宫格 / 建议条 */
body[data-theme="tech"] .qcard{
  background:linear-gradient(160deg,rgba(74,124,247,.10),rgba(16,30,56,.92));
  border:1px solid rgba(74,124,247,.20);box-shadow:0 4px 14px rgba(2,6,18,.34);
}
/* 首页（Figma）科技风覆盖 */
body[data-theme="tech"] .home{background:linear-gradient(180deg,#0E1A33 0%,#101E38 60%)}
body[data-theme="tech"] .home-top{background:linear-gradient(255.11deg,#2A1A12,#1A2238 60%,#101E38)}
body[data-theme="tech"] .home-hi .hi-en{background:linear-gradient(180deg,#FFB020,#FF8A00);-webkit-background-clip:text;background-clip:text;color:transparent}
body[data-theme="tech"] .home-hi .hi-cn{color:#EAF2FF;-webkit-text-fill-color:#EAF2FF;background:none}
body[data-theme="tech"] .ai-card{--ai-card-bg:var(--surface);box-shadow:0 8px 22px rgba(2,6,18,.5)}
body[data-theme="tech"] .ai-input{color:#EAF2FF}
body[data-theme="tech"] .ai-input::placeholder{color:#9FB4D8}
body[data-theme="tech"] .ai-ico{background:rgba(74,124,247,.14);color:var(--brand)}
body[data-theme="tech"] .qcard.fig{background:linear-gradient(160deg,rgba(74,124,247,.10),rgba(16,30,56,.92));border:1px solid rgba(74,124,247,.20);box-shadow:none}
body[data-theme="tech"] .qcard.fig.blue .qnm{color:var(--brand)}
body[data-theme="tech"] .qcard.fig.orange .qnm{color:var(--accent)}
body[data-theme="tech"] .rec-sec{background:var(--surface);border:1px solid rgba(120,160,255,.16);box-shadow:none}
body[data-theme="tech"] .rec-sec-t{color:#EAF2FF;-webkit-text-fill-color:#EAF2FF;background:none}
body[data-theme="tech"] .job{background:rgba(255,255,255,.04);border:1px solid rgba(120,160,255,.14)}
body[data-theme="tech"] .job-t,.job-info,.job-dist{color:#C7D4EE}
body[data-theme="tech"] .job-price{color:var(--accent)}
body[data-theme="tech"] .job-btn{background:linear-gradient(90deg,#4A7CF7,#6E5BF0);box-shadow:none}
body[data-theme="tech"] .sugg-c{background:rgba(74,124,247,.10);border-color:rgba(74,124,247,.34);color:var(--brand)}
/* 区块分隔条改深蓝，避免浅灰横条割裂深色氛围 */
body[data-theme="tech"] .rbar{background:#0A1526;box-shadow:inset 0 1px 0 rgba(74,124,247,.08),inset 0 -1px 0 rgba(74,124,247,.03)}
/* 图片查看遮罩 */
body[data-theme="tech"] .img-mask{background:rgba(4,8,20,.92)}
body[data-theme="tech"] .img-mask img{background:var(--surface-2)}
/* 消息气泡 */
body[data-theme="tech"] .bub.ai .box{background:var(--surface);border-color:rgba(74,124,247,.18);color:var(--text);box-shadow:0 4px 16px rgba(2,6,18,.4)}
body[data-theme="tech"] .bub.me .box{background:linear-gradient(135deg,#4A7CF7,#7B5CF7);color:#fff;border-color:transparent}
body[data-theme="tech"] .bub .play{background:rgba(74,124,247,.14);color:var(--brand)}
body[data-theme="tech"] .chat-quick .cq-card{background:linear-gradient(180deg,rgba(74,124,247,.12),rgba(20,30,56,.55));border-color:rgba(74,124,247,.34);box-shadow:0 0 9px rgba(74,124,247,.18)}
body[data-theme="tech"] .chat-quick .cq-lb{color:var(--brand)}
body[data-theme="tech"] .chat-input-bar{background:var(--surface);border-color:rgba(74,124,247,.2);box-shadow:0 4px 17.5px rgba(2,6,18,.5)}
body[data-theme="tech"] .cib-ico{color:var(--text)}
body[data-theme="tech"] .cib-input{color:var(--text)}
body[data-theme="tech"] .cib-input::placeholder{color:#9FB4D8}
body[data-theme="tech"] .chat-head{background:#0E1A33;border-bottom-color:rgba(74,124,247,.18)}
body[data-theme="tech"] .chat-head .ch-btn{color:var(--text)}
body[data-theme="tech"] .chat-head .ch-title{background:linear-gradient(180deg,#FFB020 0%,#FF8A00 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
/* 遮罩层 */
body[data-theme="tech"] .modal-mask,
body[data-theme="tech"] .mask{background:rgba(2,5,10,.72)}
/* 主题切换图标 */
.theme-toggle{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  border:none;background:transparent;color:var(--ink-2);cursor:pointer;border-radius:50%}
.theme-toggle:active{background:var(--bg-s)}
.theme-toggle .icn{width:20px;height:20px}
body[data-theme="tech"] .theme-toggle{color:var(--brand);filter:drop-shadow(0 0 6px rgba(74,124,247,.6))}

/* ================================================================
   科技风 · 界面元素素材化（图标 / 组件 / 色彩统一）
   色彩规范：青=主色(交互/品牌)、橙=脐橙点缀(强调)、语义色独立
   ================================================================ */
/* 1) 「加急」改用脐橙点缀色，与青色主色区分、与主题统一 */
body[data-theme="tech"] .st-crisis{
  background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border);
  box-shadow:0 0 10px rgba(255,138,61,.22);
}
/* 2) 状态标签整体科技化：细描边 + 微光 */
body[data-theme="tech"] .st{border:1px solid transparent;font-weight:500}
body[data-theme="tech"] .st-brand{background:rgba(74,124,247,.12);color:var(--brand);border-color:rgba(74,124,247,.32)}
body[data-theme="tech"] .st-success{background:rgba(0,230,118,.12);color:var(--success);border-color:rgba(0,230,118,.30)}
body[data-theme="tech"] .st-warn{background:rgba(255,176,32,.12);color:var(--warning);border-color:rgba(255,176,32,.30)}
body[data-theme="tech"] .st-red{background:rgba(74,124,247,.14);color:var(--brand);border-color:rgba(74,124,247,.36)}
body[data-theme="tech"] .st-gray{background:rgba(148,163,184,.10);color:var(--ink-2);border-color:rgba(148,163,184,.22)}
/* 3) 内容面 HUD 角标：左上 + 右下 L 形科技切角（伪元素实现） */
body[data-theme="tech"] .surf,
body[data-theme="tech"] .card{position:relative}
body[data-theme="tech"] .surf::before,
body[data-theme="tech"] .surf::after,
body[data-theme="tech"] .card::before,
body[data-theme="tech"] .card::after{
  content:'';position:absolute;width:11px;height:11px;pointer-events:none;
}
body[data-theme="tech"] .surf::before,
body[data-theme="tech"] .card::before{top:0;left:0;border-top:1px solid var(--border);border-left:1px solid var(--border)}
body[data-theme="tech"] .surf::after,
body[data-theme="tech"] .card::after{bottom:0;right:0;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}
/* 4) 区块分隔条：发光细线替代纯色横条 */
body[data-theme="tech"] .rbar{
  background:#0A0F1A;
  box-shadow:inset 0 1px 0 rgba(74,124,247,.10),inset 0 -1px 0 rgba(74,124,247,.04);
}
/* 5) 空状态：脐橙切面微光装饰（CSS 径向渐变，不额外请求图片） */
body[data-theme="tech"] .ep{
  background-image:radial-gradient(circle at 50% 42%, rgba(255,138,61,.13), transparent 58%);
}
/* 6) 区块标题：图标加霓虹，主色小竖条 */
body[data-theme="tech"] .sect h4{color:var(--ink-1);letter-spacing:.3px}
body[data-theme="tech"] .sec-ic{filter:drop-shadow(0 0 5px rgba(74,124,247,.55))}
/* 7) 输入框 / 开关：统一霓虹描边 */
body[data-theme="tech"] .input,
body[data-theme="tech"] textarea.input{background:var(--surface-2);border-color:rgba(74,124,247,.22);color:var(--text)}
body[data-theme="tech"] .input:focus,
body[data-theme="tech"] textarea.input:focus{border-color:var(--brand);box-shadow:0 0 0 2px rgba(74,124,247,.18)}
body[data-theme="tech"] .sw-sl{background:rgba(148,163,184,.28);border:1px solid rgba(74,124,247,.18)}
body[data-theme="tech"] .sw input:checked + .sw-sl{background:var(--brand);box-shadow:0 0 12px rgba(74,124,247,.45)}
/* 8) 头像框：科技风描边 */
body[data-theme="tech"] .av{
  background:var(--surface-2);border:1px solid rgba(74,124,247,.22);
  box-shadow:0 0 12px rgba(74,124,247,.12);
}
/* 9) 星级：统一为暖金（不随主色变化，保持"评分"语义） */
body[data-theme="tech"] .stars{color:#FFC53D;text-shadow:0 0 8px rgba(255,197,61,.35)}
/* 10) 顶部横幅（我的队伍/调度）：亮青渐变改深色，数字用青色强调，避免"浅蓝块" */
body[data-theme="tech"] .banner{
  background:linear-gradient(135deg,#0D1F3E 0%,#142C55 100%);
  border:1px solid rgba(74,124,247,.20);
  box-shadow:0 0 18px rgba(74,124,247,.10),inset 0 0 26px rgba(74,124,247,.05);
  color:var(--text);
}
body[data-theme="tech"] .banner .bt{color:#E8FCFF;text-shadow:0 0 10px rgba(74,124,247,.35)}
body[data-theme="tech"] .banner .bs{color:var(--ink-2);opacity:1}
body[data-theme="tech"] .banner .bstat .b .v{color:var(--brand);text-shadow:0 0 10px rgba(74,124,247,.45)}
body[data-theme="tech"] .banner .bstat .b .l{color:var(--ink-2);opacity:1}
body[data-theme="tech"] .banner-qr{
  background:rgba(74,124,247,.14);color:var(--brand);
  border:1px solid rgba(74,124,247,.28);box-shadow:0 0 12px rgba(74,124,247,.20);
}

/* ============ 橙工市场 · 品牌头部（Figma 统一风格：橙底白字） ============ */
.screen.mkt .statusbar{position:absolute;top:0;left:0;right:0;background:transparent;color:#fff;z-index:30}
.screen.mkt .statusbar .sb-icons{color:#fff}
.screen.mkt .body{padding-top:0}
.mkt-hd{padding:42px 16px 16px;background:linear-gradient(-85deg,#f47f15 23%,#ff5900 104%);position:relative}
.mkt-hd::after{content:"";position:absolute;left:0;right:0;top:0;height:120px;
  background:radial-gradient(120% 80% at 80% -10%,rgba(255,255,255,.28),transparent 60%);pointer-events:none}
.mkt-hd-t{text-align:center;font-size:18px;font-weight:700;color:#fff;line-height:30px;letter-spacing:.5px}
.mkt-search.hero{height:46px;border-radius:38px;background:#fff;box-shadow:0 4px 14px rgba(244,127,21,.22);
  padding:0 5px 0 18px;margin-top:14px;display:flex;align-items:center;gap:8px}
.mkt-search.hero .ms-ic{display:flex;align-items:center;color:#bbb;flex-shrink:0}
.mkt-search.hero .ms-ic .icn{width:18px;height:18px}
.mkt-search.hero input{flex:1;border:none;background:transparent;font-size:15px;outline:none;min-width:0;color:#222}
.mkt-search.hero input::placeholder{color:#b3b2b8}
.mkt-search.hero .ms-go{border:none;border-radius:24px;padding:0 18px;height:38px;
  background:var(--grad-pill);color:#fff;font-size:14px;font-weight:600;cursor:pointer;flex-shrink:0;box-shadow:0 2px 0 #ffe5ce}
.mkt-search.hero .ms-x{display:none;align-items:center;justify-content:center;width:22px;height:22px;
  border:none;border-radius:50%;background:rgba(0,0,0,.06);color:#999;font-size:12px;cursor:pointer;flex-shrink:0;padding:0}
.mkt-tabs2{display:flex;padding:18px 8px 14px}
.mkt-tabs2 .mt2{flex:1;text-align:center;font-size:15px;color:rgba(255,255,255,.72);padding-bottom:10px;
  cursor:pointer;position:relative;font-weight:500}
.mkt-tabs2 .mt2.on{color:#fff;font-weight:700}
.mkt-tabs2 .mt2.on::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:30px;height:4px;border-radius:2px;background:#fff}
.mkt-seg{padding:6px 12px 2px}
.mkt-seg .seg{background:transparent;padding:0;gap:10px}
.mkt-seg .seg .s{flex:0 0 auto;padding:9px 22px;border-radius:10px;background:#fff;color:#666;font-weight:600;font-size:14px;box-shadow:0 1px 4px rgba(244,127,21,.10)}
.mkt-seg .seg .s.on{background:var(--grad-pill);color:#fff;box-shadow:0 3px 8px rgba(244,127,21,.28)}

/* ============ 市场列表 · 新 Figma：白卡片分区 + 浅灰行卡 + 缩略图 ============ */
.mkt-sec{background:#fff;border-radius:20px;margin:10px 12px;box-shadow:0 1px 8px rgba(0,0,0,.05);overflow:hidden;padding:4px 0 10px}
.mkt-sec-h{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 10px}
.mkt-sec-h .t{font-size:17px;font-weight:700;color:#191919}
.mkt-sec-h .c{font-size:13px;color:#999;cursor:pointer}
.mkt-sec-sub{padding:0 16px 8px;font-size:12px;color:#999}
.mkt-row{position:relative;display:flex;align-items:center;gap:12px;padding:12px;margin:0 10px 10px;
  background:#f6f7f8;border-radius:16px;cursor:pointer}
.mkt-row:last-child{margin-bottom:0}
.mkt-thumb{width:64px;height:72px;border-radius:10px;flex-shrink:0;
  background:linear-gradient(135deg,#FFB36B,#F26A1B);display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:26px;overflow:hidden;position:relative}
.mkt-thumb img{width:100%;height:100%;object-fit:cover}
.mkt-ava{width:52px;height:52px;border-radius:14px;flex-shrink:0;background:#fff1e6;
  display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden}
.mkt-ava.circle{border-radius:50%}
.mkt-ava.orb{background:linear-gradient(135deg,#FF8A2A,#F26A1B);color:#fff;font-weight:800;font-size:24px;position:relative;box-shadow:0 2px 6px rgba(242,106,27,.30)}
.mkt-ava.orb::after{content:"";position:absolute;top:6px;right:9px;width:11px;height:11px;background:#1FA971;border-radius:0 0 0 11px;transform:rotate(-18deg)}
body[data-theme="tech"] .mkt-ava.orb{background:linear-gradient(135deg,#4A7CF7,#6E5BF0);box-shadow:0 2px 6px rgba(74,124,247,.35)}
body[data-theme="tech"] .mkt-ava.orb::after{background:#FFB020}
.mkt-ava img{width:100%;height:100%;object-fit:cover}
.mkt-main{flex:1;min-width:0}
.mkt-t{font-size:16px;font-weight:700;color:#191919;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mkt-t .qty{font-weight:700;color:#f47f15;font-size:15px}
.mkt-d{font-size:12.5px;color:#999;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkt-main .stars{color:#FF9500;font-size:12px;margin-top:3px;letter-spacing:1px}
.mkt-main .score{color:#FF9500;font-weight:700;font-size:12px;margin-left:4px}
.mkt-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.mkt-pill{border:none;border-radius:16px;padding:6px 14px;font-size:13px;font-weight:600;color:#fff;background:var(--grad-pill);cursor:pointer;white-space:nowrap;box-shadow:0 2px 0 #ffe5ce}
.mkt-pill.ghost{background:#fff1e6;color:#f47f15;box-shadow:none}
.mkt-badge{display:inline-block;border-radius:10px;padding:2px 9px;font-size:12px;font-weight:600;color:#fff;background:#f47f15;white-space:nowrap}
.mkt-badge.rush{background:var(--grad-pill)}
.mkt-chev{color:#c8c8c8;font-size:20px;flex-shrink:0;margin-left:2px}
.mkt-rush{position:absolute;top:-7px;right:-7px;width:26px;height:26px;border-radius:50%;
  background:#ff3b30;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(255,59,48,.40);z-index:2}
.mkt-loadmore{text-align:center;padding:13px;font-size:13px;color:#f47f15;cursor:pointer;
  margin:0 12px 10px;background:#fff;border-radius:16px;box-shadow:0 1px 6px rgba(0,0,0,.05)}

/* 工单 / 我的单子 · 白卡片（与 工单 Figma 一致：缩略图 + 状态药丸） */
.ocard{position:relative;display:flex;align-items:center;gap:12px;padding:12px;margin:10px 12px;
  background:#fff;border-radius:20px;box-shadow:0 1px 8px rgba(0,0,0,.05);cursor:pointer}
.ocard:active{transform:scale(.992)}
.mkt-pill.muted{background:#cdcdcd;box-shadow:none}
.mkt-pill.soft{background:#ffdede;color:#f47f15;box-shadow:none}

/* ============ 科技风：市场头部改为深蓝渐变 ============ */
body[data-theme="tech"] .screen.mkt .statusbar{color:#fff}
body[data-theme="tech"] .screen.mkt .statusbar .sb-icons{color:#fff}
body[data-theme="tech"] .mkt-hd{background:linear-gradient(160deg,#1B2C4E 0%,#13203B 100%)}
body[data-theme="tech"] .mkt-search.hero .ms-go{background:linear-gradient(135deg,#4A7CF7,#6E5BF0)}
body[data-theme="tech"] .mkt-tabs2 .mt2.on::after{background:#8FA9FF}
body[data-theme="tech"] .mkt-seg .seg .s.on{background:#4A7CF7}
body[data-theme="tech"] .mkt-sec{background:var(--surface);box-shadow:none;border:1px solid rgba(74,124,247,.18)}
body[data-theme="tech"] .mkt-sec-h .t{color:#EAF2FF}
body[data-theme="tech"] .mkt-row{background:rgba(255,255,255,.05)}
body[data-theme="tech"] .mkt-thumb{background:linear-gradient(135deg,#4A7CF7,#6E5BF0)}
body[data-theme="tech"] .mkt-t{color:#EAF2FF}
body[data-theme="tech"] .mkt-ava{background:rgba(255,176,32,.16)}
body[data-theme="tech"] .mkt-pill{background:#4A7CF7}
body[data-theme="tech"] .mkt-pill.ghost{background:rgba(74,124,247,.16);color:#9FB4D8}
body[data-theme="tech"] .mkt-badge{background:#4A7CF7}
body[data-theme="tech"] .mkt-badge.rush{background:linear-gradient(135deg,#FF8A00,#FFB020)}
body[data-theme="tech"] .mkt-loadmore{background:var(--surface);color:#8FA9FF;border:1px solid rgba(74,124,247,.18)}

/* 游客横幅（未登录 · 仅可浏览市场） */
.guest-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:10px 12px 2px;padding:10px 12px;border-radius:10px;
  background:linear-gradient(135deg,#FFF7ED 0%,#FFF1EC 100%);
  border:1px solid var(--brand-border);box-shadow:var(--shadow-1)}
.guest-banner span{font-size:12.5px;color:var(--ink-2);line-height:1.45}
.guest-banner b{color:var(--brand)}
.guest-banner .btn{white-space:nowrap}
body[data-theme="tech"] .guest-banner{
  background:linear-gradient(135deg,#16284a 0%,#101E38 100%);
  border:1px solid rgba(74,124,247,.28);box-shadow:0 0 16px rgba(74,124,247,.12)}
body[data-theme="tech"] .guest-banner span{color:var(--ink-2)}
body[data-theme="tech"] .guest-banner b{color:#FFB020}

/* 身份证上传 + OCR 识别 */
.idup-row{display:flex;gap:12px;margin:4px 0 4px}
.idup{flex:1;cursor:pointer}
.idup-box{height:104px;border:1.5px dashed var(--brand-border);border-radius:12px;
  background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  transition:border-color .2s,box-shadow .2s;overflow:hidden}
.idup:hover .idup-box{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-bg)}
.idup-ic{color:var(--brand);display:flex}
.idup-ic svg{width:26px;height:26px}
.idup-t{font-size:13px;color:var(--ink-1);font-weight:600}
.idup-s{font-size:11px;color:var(--ink-3)}
.auth-tip{font-size:12px;color:var(--ink-3);margin:2px 2px 12px}
body[data-theme="tech"] .idup-box{background:rgba(74,124,247,.08);border-color:rgba(74,124,247,.28)}
body[data-theme="tech"] .idup:hover .idup-box{box-shadow:0 0 0 3px rgba(74,124,247,.18)}

/* ============ 我的（个人中心）· Figma 橙系 ============ */
.me-card{margin:10px 12px;border-radius:16px;padding:18px 16px 0;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#FF9A3C 0%,#F26A1B 60%,#EA580C 100%);box-shadow:0 4px 16px rgba(242,106,27,.22)}
.me-card::before{content:"";position:absolute;right:-34px;top:-34px;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%)}
.me-theme{position:absolute;top:14px;right:14px;width:30px;height:30px;border:none;border-radius:50%;
  background:rgba(255,255,255,.22);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.me-theme svg{width:17px;height:17px}
.me-top{display:flex;align-items:flex-start;gap:14px;position:relative;z-index:1}
.me-av{width:60px;height:60px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;
  font-size:28px;box-shadow:0 0 0 3px rgba(255,255,255,.5);flex-shrink:0;overflow:hidden}
.me-av img{width:100%;height:100%;object-fit:cover}
.me-name{font-size:20px;font-weight:700;color:#fff;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.me-pill{display:inline-flex;align-items:center;font-size:12px;color:#fff;border:1px solid rgba(255,255,255,.7);
  border-radius:20px;padding:1px 9px;font-weight:500}
.me-sub{font-size:13px;color:rgba(255,255,255,.9);margin-top:5px}
.me-stars{margin-left:auto;text-align:right;white-space:nowrap}
.me-stars .s{color:#FFD66B;font-size:14px;letter-spacing:1px}
.me-stars .n{color:#fff;font-weight:700;font-size:13px;margin-left:3px}
.me-stats{display:flex;margin-top:16px;position:relative;z-index:1}
.me-stat{flex:1;text-align:center;padding:12px 0;position:relative}
.me-stat+.me-stat::before{content:"";position:absolute;left:0;top:22%;height:56%;width:1px;background:rgba(255,255,255,.3)}
.me-stat .v{font-size:22px;font-weight:800;color:#fff}
.me-stat .l{font-size:12px;color:rgba(255,255,255,.85);margin-top:2px}

/* 菜单卡片 */
.me-menu{margin-top:4px}
.me-card-menu{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,.05);margin:10px 12px}
.me-item{display:flex;align-items:center;gap:12px;padding:13px 14px;cursor:pointer;position:relative}
.me-item+.me-item::before{content:"";position:absolute;left:14px;right:0;top:0;height:1px;background:#F2F2F2}
.me-ico{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;color:#fff}
.me-ico.o{background:linear-gradient(135deg,#FF9A3C,#F26A1B)}
.me-ico.b{background:linear-gradient(135deg,#4A7CF7,#3B6FE0)}
.me-ico.y{background:linear-gradient(135deg,#FFB020,#F59E0B)}
.me-ico.g{background:linear-gradient(135deg,#34C759,#28A745)}
.me-ico.p{background:linear-gradient(135deg,#A855F7,#8B3FF0)}
.me-ico.r{background:linear-gradient(135deg,#FF5A5F,#F2461B)}
.me-ico.k{background:linear-gradient(135deg,#8E8E93,#6B6B70)}
.me-main{flex:1;min-width:0}
.me-t{font-size:16px;font-weight:600;color:#1A1A1A}
.me-d{font-size:12px;color:#999;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-badge{background:#FF3B30;color:#fff;font-size:11px;font-weight:700;border-radius:10px;min-width:18px;height:18px;
  display:inline-flex;align-items:center;justify-content:center;padding:0 5px;margin-left:6px}
.me-arw{color:#C8C8C8;font-size:18px;flex-shrink:0}
.me-item.logout{justify-content:center}
.me-item.logout .me-t{color:#1A1A1A}

/* 科技风 */
body[data-theme="tech"] .me-card{background:linear-gradient(135deg,#24365E 0%,#1B2C4E 60%,#13203B 100%);box-shadow:none;border:1px solid rgba(74,124,247,.25)}
body[data-theme="tech"] .me-stars .s{color:#FFB020}
body[data-theme="tech"] .me-card-menu{background:var(--surface);box-shadow:none;border:1px solid rgba(74,124,247,.18)}
body[data-theme="tech"] .me-item+.me-item::before{background:rgba(255,255,255,.08)}
body[data-theme="tech"] .me-t{color:#EAF2FF}
body[data-theme="tech"] .me-d{color:#9FB4D8}

/* ============ 首页 · Figma 中介机构 ============ */
.home{background:linear-gradient(180deg,#FFFFFF 0%,#F6F7F8 56.91%);min-height:100%}
.home-top{background:center top/cover no-repeat url(/images/home-hero-bg.png),linear-gradient(255.11deg,#F7D1BD 0.45%,#FAD2C0 9.85%,#F9DFD0 27.13%,#FAD0C0 57.28%,#FBECE5 68.48%,#F9E0D4 80.31%);
  padding:6px 16px 22px}
.home-hero{position:relative;text-align:center;padding:46px 16px 18px}
.home-logo{width:calc(145px * var(--fig-scale));height:calc(160px * var(--fig-scale));margin:0 auto calc(10px * var(--fig-scale))}
.home-logo img{width:100%;height:100%;object-fit:contain}
.home-hi{font-size:calc(58px * var(--fig-scale));font-weight:800;display:inline-flex;align-items:baseline;line-height:1.1}
.home-hi .hi-en{background:linear-gradient(180deg,#F47F15 21.09%,#FF5900 110.94%);-webkit-background-clip:text;background-clip:text;color:transparent}
.home-hi .hi-cn{background:linear-gradient(0deg,#191919 0%,#512808 66.41%,#191919 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* AI 输入卡（白卡 + 橙系投影） */
.ai-card{--ai-card-bg:#fff;border:calc(4px * var(--fig-scale)) solid transparent;border-radius:calc(32px * var(--fig-scale));
  background-image:linear-gradient(var(--ai-card-bg),var(--ai-card-bg)),linear-gradient(-86.889deg,#f47f15 7.17%,#aa73f7 24.607%,#dc53a7 41.79%,#f24e66 62.71%,#6895f2 92.544%);
  background-origin:border-box;background-clip:padding-box,border-box;
  box-shadow:0 10px 16px rgba(244,127,21,.16);
  padding:14px 16px 12px;margin-top:6px;display:flex;flex-direction:column;gap:14px}
.ai-input{flex:1;min-width:0;height:30px;border:none;outline:none;background:transparent;
  font-size:16px;font-family:inherit;color:#191919;padding:0}
.ai-input::placeholder{color:#B3B2B8}
.ai-row{display:flex;align-items:center;justify-content:space-between}
.ai-icos{display:flex;gap:14px}
.ai-ico{width:40px;height:40px;border-radius:50%;border:none;background:#F4F5F7;color:#191919;
  display:flex;align-items:center;justify-content:center;cursor:pointer}
.ai-ico svg{width:22px;height:22px}
.ai-send{width:44px;height:44px;border:none;background:transparent;cursor:pointer;padding:0;display:flex}
.ai-send img{width:100%;height:100%;object-fit:contain}

/* 彩虹描边输入卡 */
.ci.rainbow{margin-top:8px;padding:4px;border-radius:24px;border:2px solid transparent;
  background-image:linear-gradient(#fff,#fff),linear-gradient(90deg,#4A7CF7,#A855F7,#F26A1B,#FF5A5F);
  background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.ci.rainbow .ci-input{height:38px;border:none;border-radius:19px;background:transparent;padding:0 12px;outline:none}
.ci.rainbow .ci-input:focus{box-shadow:none}
.ci.rainbow .cib{width:36px;height:36px;border-radius:50%;border:none;background:#F4F5F7;color:#555;
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.ci.rainbow .cib svg{width:18px;height:18px}
.ci.rainbow .cib.send{background:linear-gradient(135deg,#FF8A2A,#FF2D9B);color:#fff}
body[data-theme="tech"] .ci.rainbow{background-image:linear-gradient(#0E1A33,#0E1A33),linear-gradient(90deg,#4A7CF7,#6E5BF0,#FF8A00,#FFB020);box-shadow:0 0 16px rgba(74,124,247,.14)}
body[data-theme="tech"] .ci.rainbow .ci-input{color:#EAF2FF}
body[data-theme="tech"] .ci.rainbow .ci-input::placeholder{color:#9FB4D8}
body[data-theme="tech"] .ci.rainbow .cib{background:rgba(74,124,247,.14);color:#9FB4D8}

/* 首页推荐区块：有需求的种植户（Figma 白卡容器 + 招聘卡） */
.rec-sec{background:#fff;border-radius:calc(32px * var(--fig-scale));box-shadow:0 2px 10px rgba(0,0,0,.05);
  margin:6px 16px 12px;padding:16px 14px}
.rec-sec-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.rec-sec-t{font-size:calc(36px * var(--fig-scale));font-weight:900;
  background:linear-gradient(0deg,#191919 0%,#502809 66.4062%,#502708 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.rec-sec-more{font-size:calc(32px * var(--fig-scale));color:#B3B2B8;cursor:pointer}
.jobs{display:flex;flex-direction:column;gap:calc(12px * var(--fig-scale))}
.job{position:relative;display:grid;grid-template-columns:calc(103px * var(--fig-scale)) 1fr;column-gap:calc(10px * var(--fig-scale));
  background:#F6F7F8;border-radius:calc(14px * var(--fig-scale));padding:calc(12px * var(--fig-scale));cursor:pointer}
.job-thumb{width:calc(103px * var(--fig-scale));height:calc(98px * var(--fig-scale));border-radius:calc(10px * var(--fig-scale));object-fit:cover;grid-row:1 / span 2;align-self:start;background:#E9EBEF}
.job-badge{position:absolute;top:0;left:0;z-index:3;background:linear-gradient(90deg,#FF5A5F,#E5484D);color:#fff;
  font-size:calc(20px * var(--fig-scale));font-weight:700;line-height:1;padding:calc(5px * var(--fig-scale)) calc(12px * var(--fig-scale));
  border-radius:calc(14px * var(--fig-scale)) 0 calc(14px * var(--fig-scale)) 0;box-shadow:0 2px 6px rgba(229,72,77,.35)}
.job-row1{grid-column:2;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.job-t{flex:1;min-width:0;font-size:calc(32px * var(--fig-scale));font-weight:400;color:#191919;line-height:1.3}
.job-price{flex:none;font-size:calc(24px * var(--fig-scale));color:#F47E17;white-space:nowrap;margin-top:calc(4px * var(--fig-scale))}
.job-row2{grid-column:2;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:calc(8px * var(--fig-scale))}
.job-tags{display:flex;gap:6px;flex-wrap:wrap}
.job-tag{border-radius:calc(8px * var(--fig-scale));padding:1px 10px;font-size:calc(24px * var(--fig-scale));line-height:calc(38px * var(--fig-scale))}
.job-tag.o{background:rgba(244,127,21,.06);color:#F47F15}
.job-tag.g{background:rgba(47,189,123,.06);color:#2FBD7B}
.job-tag.b{background:rgba(68,140,250,.06);color:#448CFA}
.job-tag.rush{background:rgba(229,72,77,.08);color:#E5484D}
.job-meta{grid-column:1 / 3;margin-top:calc(10px * var(--fig-scale));display:flex;flex-direction:column;gap:calc(4px * var(--fig-scale))}
.job-line{font-size:calc(24px * var(--fig-scale));color:#333;line-height:1.4}
.job-loc{display:flex;justify-content:space-between;align-items:flex-end;gap:8px}
.job-dist{font-size:calc(20px * var(--fig-scale));color:#333;white-space:nowrap}
.job-btn{flex:none;width:calc(128px * var(--fig-scale));height:calc(55px * var(--fig-scale));border:none;border-radius:calc(31px * var(--fig-scale));
  background:linear-gradient(90deg,#F47F15,#FF782F);box-shadow:0 2px 0 #FFE5CE;color:#fff;font-size:calc(24px * var(--fig-scale));cursor:pointer;white-space:nowrap;display:flex;align-items:center;justify-content:center}

/* 推荐卡：邀约按钮 */
.rc-btn{flex-shrink:0;margin-left:10px;padding:4px 14px;border-radius:14px;background:linear-gradient(135deg,#FF8A2A,#F26A1B);
  color:#fff;font-size:12px;font-weight:600;cursor:pointer}
body[data-theme="tech"] .rc-btn{background:linear-gradient(135deg,#4A7CF7,#6E5BF0)}
