/* 门店端样式 —— 原 store.html 内联 <style> 的三段逐行搬迁（R5 骨架化）。
   三段内容一字未改、顺序即原顺序；改样式前请看 docs/规格/R45前端拆分_执行清单.md。 */

/* ================= 基础样式（原 L9–L874） ================= */
  :root{
    /* Airtable 设计令牌（2026-09-15 UI 重构基准）：白底画布 + 单一 Airtable 蓝 + 海军蓝压重 + 细边框 + 蓝调柔影，不用渐变和重阴影 */
    --accent:#1b61c9; --accent-d:#1551a8; --accent-l:#eaf1fc; --accent-brd:#c5d8f5;
    --navy:#181d26; --ink:#181d26; --sub:#6b7280; --mut:rgba(4,14,32,.6);
    --bg:#eef1f5; --card:#ffffff; --line:#e0e2e6; --radius:12px; --nav-h:60px;
    --brand:var(--accent); --brand-d:var(--accent-d); --brand-l:var(--accent-l);
    /* 兼容旧变量名：--green* 历史代码沿用，统一指向 Airtable 蓝，改一处即全站换色 */
    --green:var(--accent); --green-d:var(--accent-d); --green-l:var(--accent-l);
    /* 分级色彩（保留原逻辑，柔化贴合白底）：功能卡 R21 每张一色 + 左侧色条；提醒三级 */
    --c-blue:#3f6fd8; --c-green:#2f8f63; --c-teal:#2b8ba0; --c-purple:#6b5bd2;
    --c-indigo:#4d6bfe; --c-amber:#d98b1f; --c-red:#c0392b;
    --urg:#d92d20; --pri:#e08a00; --opp:#2f8f63;
    --red:#d92d20; --ok:#0f9d58; --amber:#e08a00; --blue:var(--accent);
    --shadow:0 1px 3px rgba(45,127,249,.08),0 0 20px rgba(15,48,106,.05);
  
    /* 需求2：分段导航同色系五档深浅（浅→深），逐项可辨 */
    --sg1:#eff4fd; --sg2:#e2ecfc; --sg3:#d3e2fa; --sg4:#c3d8f8; --sg5:#b3cef6;
    --sg1a:#1b61c9; --sg2a:#1a56b0; --sg3a:#184b98; --sg4a:#164180; --sg5a:#143668;
  }
  *{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
  html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
    font-size:15px; line-height:1.5;}
  .app{max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg);
    position:relative;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));}
  header.top{position:sticky;top:0;z-index:20;background:var(--card);color:var(--ink);
    padding:calc(10px + env(safe-area-inset-top)) 16px 10px;display:flex;align-items:center;
    justify-content:space-between;border-bottom:1px solid var(--line);}
  header.top .t{font-size:16px;font-weight:600;letter-spacing:-.01em;}
  header.top .store{font-size:12px;color:var(--sub);margin-top:2px;}
  header.top .gear{font-size:18px;background:#f0f2f7;border:none;color:var(--ink);
    width:36px;height:36px;border-radius:10px;}
  .screen{display:none;padding:14px;animation:fade .18s ease;}
  .screen.on{display:block;}
  @keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
  .card{background:var(--card);border-radius:var(--radius);padding:14px;margin-bottom:12px;
    border:1px solid var(--line);}
  .card h3{margin:0 0 10px;font-size:15px;display:flex;align-items:center;gap:6px;}
  .card h3 .dot{width:3px;height:14px;border-radius:2px;background:var(--brand);}
  label.fld{display:block;font-size:13px;color:var(--sub);margin:12px 0 5px;}
  label.fld.req::after{content:" *";color:var(--red);}
  label.fld .opt{color:var(--sub);font-size:12px;}
  input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;
    padding:11px 12px;font-size:15px;background:#fff;color:var(--ink);outline:none;}
  input:focus,select:focus,textarea:focus{border-color:var(--green);}
  textarea{resize:vertical;min-height:60px;}
  .row{display:flex;gap:10px;}
  .row>*{flex:1;}
  .btn{display:block;width:100%;border:none;border-radius:10px;padding:13px;font-size:15.5px;
    font-weight:600;background:var(--brand);color:#fff;cursor:pointer;margin-top:6px;letter-spacing:.01em;}
  .btn:active{background:var(--brand-d);}
  .btn.ghost{background:var(--green-l);color:var(--green);}
  .btn.amber{background:var(--amber);}
  .btn.sm{padding:9px;font-size:14px;display:inline-block;width:auto;}
  .pill{display:inline-block;font-size:12px;padding:3px 9px;border-radius:8px;
    background:var(--brand-l);color:var(--brand-d);margin:3px 4px 3px 0;font-weight:500;}
  .pill.gray{background:#eef1f4;color:var(--sub);}
  .pill.red{background:#fdecec;color:var(--red);}
  .farmer-qr img{width:170px;height:170px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:6px;}
  .stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .stat{background:var(--brand-l);border-radius:12px;padding:12px;}
/* 摘要框顶部「合计」栏标题（#14）：让人一眼知道下面这排数字是合计 */
.sum-cap{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;
  color:var(--ink);margin:2px 0 8px;}
.sum-cap:before{content:"";display:block;width:3px;height:14px;border-radius:2px;
  background:var(--accent);}
  .stat .n{font-size:22px;font-weight:700;color:var(--green-d);}
  .stat .l{font-size:12px;color:var(--sub);margin-top:2px;}
  .item{display:flex;align-items:center;justify-content:space-between;padding:11px 0;
    border-bottom:1px solid var(--line);gap:8px;}
  .item:last-child{border-bottom:none;}
  .item .name{font-weight:500;}
  .item .meta{font-size:12px;color:var(--sub);}
  .item .price{color:var(--green-d);font-weight:600;font-size:14px;white-space:nowrap;}
  .prod{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);}
  .prod .info{flex:1;}
  .prod .qty{width:64px;padding:7px;text-align:center;}
  .empty{text-align:center;color:var(--sub);padding:30px 0;font-size:14px;}
  nav.bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;
    height:calc(var(--nav-h) + env(safe-area-inset-bottom));background:#fff;
    border-top:1px solid var(--line);display:flex;z-index:20;
    padding-bottom:env(safe-area-inset-bottom);}
  nav.bottom button{flex:1;border:none;background:none;color:var(--sub);font-size:10.5px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;padding:0 2px;}
  nav.bottom button .ic{font-size:19px;line-height:1;}
  nav.bottom button.on{color:var(--green);font-weight:600;}
  .tag-mode{font-size:11px;padding:2px 8px;border-radius:20px;font-weight:600;}
  .tag-mode.real{background:#dcfce7;color:#15803d;}
  .tag-mode.mock{background:#fef3c7;color:#b45309;}
  .sheet{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:100;display:none;
    align-items:flex-end;justify-content:center;}
  .sheet.on{display:flex;}
  .sheet .box{background:#fff;width:100%;max-width:480px;max-height:92vh;overflow:auto;
    border-radius:18px 18px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom));position:relative;}
  .sheet .box h2{margin:0 0 4px;font-size:18px;}
  .sheet .box .sub{color:var(--sub);font-size:13px;margin-bottom:12px;}
  /* 关闭按钮吸顶：弹窗再长也能随时点到，不用往上拉 */
  .close-x{position:sticky;top:0;float:right;margin:-8px -6px 0 0;font-size:20px;color:var(--sub);
    background:#fff;border:none;width:34px;height:34px;border-radius:50%;z-index:5;line-height:30px;
    box-shadow:0 2px 8px rgba(0,0,0,.10);}
  /* 折叠：原生 details，点标题展开/收起 */
  details.fold{margin-top:10px;border:1px solid var(--line);border-radius:10px;background:#fafbfc;padding:0 12px;}
  details.fold>summary{cursor:pointer;padding:11px 0;font-size:14px;font-weight:600;color:var(--green-d);
    list-style:none;display:flex;justify-content:space-between;align-items:center;}
  details.fold>summary::-webkit-details-marker{display:none;}
  details.fold>summary::after{content:"▾";color:var(--sub);font-size:13px;transform:rotate(-90deg);transition:transform .2s;}
  details.fold[open]>summary::after{transform:rotate(0);}
  details.fold>.fold-b{padding:2px 0 12px;}
  details.fold>.fold-b>.card{margin-top:0;}
  .toast{position:fixed;left:50%;top:64px;transform:translateX(-50%);background:rgba(28,33,40,.92);
    color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:3000;opacity:0;
    transition:opacity .2s;pointer-events:none;max-width:90%;}
  .toast.on{opacity:1;}
  details.contract{margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fafbfc;}
  details.contract summary{cursor:pointer;padding:10px 0;font-size:14px;font-weight:600;color:var(--green-d);}
  details.contract pre{white-space:pre-wrap;font-size:12px;color:#374151;background:#fff;
    border:1px solid var(--line);border-radius:8px;padding:10px;overflow:auto;line-height:1.55;}
  .hint{font-size:12px;color:var(--sub);margin-top:4px;}
  /* 作物档案 & 地块天气卡片（豆包方案：本地知识库 + GPS 定位抓天气） */
  .crop-info{margin-top:8px;background:#f6faf7;border:1px solid var(--green-l);border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.6;}
  .crop-info .ci-hd{font-weight:700;color:var(--green-d);margin-bottom:6px;font-size:13px;}
  .crop-info .ci-row{color:#374151;margin:3px 0;}
  .crop-info .ci-row b{color:var(--green-d);font-weight:600;display:inline-block;min-width:62px;}
  .weather-card{margin-top:10px;background:linear-gradient(135deg,#eef7ff,#f3fbff);border:1px solid #cfe6f7;border-radius:12px;padding:12px;}
  .weather-card .w-hd{font-size:12.5px;font-weight:700;color:#1f6fb2;margin-bottom:8px;}
  .weather-card .w-src{font-size:10.5px;color:var(--sub);font-weight:400;}
  .weather-card .w-now{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;}
  .weather-card .w-temp{font-size:26px;font-weight:700;color:#1f6fb2;}
  .weather-card .w-txt{font-size:14px;color:#374151;font-weight:600;}
  .weather-card .w-meta{font-size:11.5px;color:var(--sub);}
  .weather-card .w-days{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;}
  .weather-card .w-day{flex:none;width:74px;text-align:center;background:#fff;border:1px solid #e3edf5;border-radius:8px;padding:7px 4px;}
  .weather-card .w-day.w-warn{background:#fff7f0;border-color:#f5d8c0;}
  .weather-card .w-dt{font-size:11px;color:var(--sub);}
  .weather-card .w-ic{font-size:18px;margin:2px 0;}
  .weather-card .w-t{font-size:11.5px;color:#374151;font-weight:600;}
  .weather-card .w-r{font-size:10.5px;color:#1f6fb2;}
  .weather-card .w-tip{font-size:11.5px;color:#8a6d3b;background:#fff8e8;border-radius:8px;padding:6px 8px;margin-top:8px;line-height:1.5;}
  .weather-card .w-place{font-size:11.5px;color:#1f6fb2;margin:-2px 0 8px;font-weight:600;}
  .weather-card .w-sec{margin-top:10px;}
  .weather-card .w-sec+.w-sec{border-top:1px dashed #dbeafe;padding-top:10px;}
  .weather-card .w-sec-hd{font-size:12px;font-weight:700;color:#374151;margin-bottom:6px;}
  .weather-card .w-today{display:inline-block;font-size:9px;color:#fff;background:#1f6fb2;border-radius:4px;padding:0 4px;line-height:1.5;margin-bottom:2px;}
  .switch{position:relative;width:46px;height:26px;background:#cfd6dd;border-radius:20px;
    transition:.2s;flex:none;cursor:pointer;}
  .switch.on{background:var(--green);}
  .switch::after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;
    top:3px;left:3px;transition:.2s;}
  .switch.on::after{left:23px;}
  .kv{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);}
  .kv:last-child{border-bottom:none;}
  .rec{background:var(--green-l);border-radius:12px;padding:12px;margin-top:10px;}
  .rec .title{font-weight:700;color:var(--green-d);}
  .rec .principle{font-size:13px;color:#374151;margin-top:8px;background:#fff;border-radius:8px;padding:10px;line-height:1.6;}
  .rec .usage{font-size:13px;color:#374151;margin-top:6px;}
  .bar{height:10px;background:#eef1f4;border-radius:6px;overflow:hidden;margin-top:4px;}
  .bar > i{display:block;height:100%;background:var(--green);}
  .chip{display:inline-block;background:var(--green);color:#fff;font-size:12px;padding:3px 10px;border-radius:20px;margin:3px 4px 3px 0;}
  .chip.red{background:var(--red);}
  .chip.amber{background:var(--amber);}
  .chip.gray{background:var(--sub);}
  /* 客户输入匹配组合框 */
  .combo{position:relative;}
  .combo-list{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--line);
    border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.12);max-height:240px;overflow:auto;z-index:30;display:none;}
  .combo-list.on{display:block;}
  .combo-row{padding:11px 12px;font-size:14px;border-bottom:1px solid var(--line);cursor:pointer;}
  .combo-row:last-child{border-bottom:none;}
  .combo-row:active{background:var(--green-l);}
  .combo-row .sub{font-size:12px;color:var(--sub);}
  .combo input{padding-right:34px;}
  .combo-caret{position:absolute;right:6px;top:0;bottom:0;display:flex;align-items:center;padding:0 8px;color:var(--sub);font-size:14px;cursor:pointer;}
  /* 需求预测分级 */
  .urgent{border-left:4px solid var(--red);background:#fdf0ef;}
  .priority{border-left:4px solid var(--amber);background:#fff8ee;}
  .normal{border-left:4px solid var(--line);}
  .tag-urg{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--red);padding:2px 8px;border-radius:20px;}
  .tag-pri{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--amber);padding:2px 8px;border-radius:20px;}
  .tag-nor{display:inline-block;font-size:11px;font-weight:700;color:var(--sub);background:#eef1f4;padding:2px 8px;border-radius:20px;}
  .collapse-head{margin-top:10px;padding:10px 12px;background:#f3f5f7;border-radius:10px;font-size:13px;color:var(--green-d);font-weight:600;cursor:pointer;text-align:center;}
  /* 进销存 / 查询 */
  .seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:8px 0}
  .seg button{flex:1;border:none;background:#fff;padding:11px;font-size:14px;color:var(--sub);cursor:pointer}
  .seg button.on{background:var(--green);color:#fff;font-weight:600}
  .receipt{background:var(--green-l);border:1px solid #b7dfc2;border-radius:12px;padding:12px;margin-top:12px}
  .receipt .t{font-weight:700;color:var(--green-d);font-size:15px}
  .receipt .ln{display:flex;justify-content:space-between;font-size:13px;padding:3px 0;color:#374151}
  .muted{color:var(--sub);font-size:12px}
  .tag-in{background:#dcfce7;color:#15803d}
  .tag-out{background:#fee2e2;color:#b91c1c}
  .tag-loss{background:#fef3c7;color:#b45309}
  .warn{background:#fee2e2;color:#b91c1c}
  /* 屏内子页签导航 */
  .seg.full{margin:0 0 12px}
  .seg.full button{padding:12px 4px}
  .search-bx{margin-bottom:10px}
  .cust-row{cursor:pointer}
  .cust-row:active{background:var(--green-l)}
  .kv2{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px}
  .kv2:last-child{border-bottom:none}
  .kv2 .k{color:var(--sub)}
  .kv2 .v{font-weight:500;text-align:right}
  .divider{height:1px;background:var(--line);margin:16px 0}
  /* 登录页 */
  .login{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;
    background:var(--bg);}
  .login.on{display:flex;}
  /* 过渡层：注册/登录成功 → 进入应用之间的等待动画（同时遮住后面的主界面，避免一闪而过） */
  .boot-spin{width:38px;height:38px;margin:2px auto 14px;border-radius:50%;
    border:3px solid var(--line);border-top-color:var(--brand);animation:bootspin .8s linear infinite;}
  @keyframes bootspin{to{transform:rotate(360deg);}}
  .login-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 20px;width:100%;max-width:360px;
    box-shadow:0 10px 40px rgba(10,10,35,.07);}
  .login-brand{font-size:19px;font-weight:700;color:var(--navy);letter-spacing:-.01em;}
  .login-sub{font-size:13px;color:var(--sub);margin:4px 0 14px;}
  .user-chip{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--sub)}
  .user-chip b{color:var(--green-d)}
  /* 切换用户按钮：放姓名旁，一眼能看到；白底用品牌色描边 + 淡底，与页面融合但不隐形 */
  .user-chip-btn{display:inline-flex;align-items:center;gap:4px;background:var(--brand-l);color:var(--brand-d);
    border:1px solid #c7d2fe;border-radius:8px;padding:3px 10px;cursor:pointer;font-size:12px;
    margin-left:4px;font-weight:600;line-height:1.4;white-space:nowrap;transition:background .15s}
  .user-chip-btn:hover{background:#dbe3ff;border-color:#a5b4fc}
  .user-chip-btn svg{width:13px;height:13px}
  /* 应用内确认弹窗：替代原生 confirm，手机端不被屏蔽，更醒目 */
  .myConfirm{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:2000;display:none;align-items:center;justify-content:center;padding:20px}
  .myConfirm.on{display:flex}
  .myConfirm .box{background:#fff;border-radius:14px;padding:18px 18px 14px;width:100%;max-width:340px;box-shadow:0 16px 40px rgba(0,0,0,.2);animation:pop .18s ease-out}
  .myConfirm .title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:6px;display:flex;align-items:center;gap:6px}
  .myConfirm .msg{font-size:13.5px;color:var(--sub);line-height:1.7;white-space:pre-wrap;word-break:break-word}
  .myConfirm .btns{display:flex;gap:10px;margin-top:16px;justify-content:flex-end}
  .myConfirm .btn{padding:9px 16px;border-radius:9px;border:none;font-size:14px;font-weight:600;cursor:pointer;min-width:80px}
  .myConfirm .btn-cancel{background:#f3f5f7;color:var(--ink)}
  .myConfirm .btn-ok{background:var(--brand);color:#fff}
  .myConfirm .btn-ok.danger{background:var(--red)}
  .myConfirm .btn-cancel:hover{background:#e5e7eb}
  @keyframes pop{from{transform:scale(.92);opacity:.0}to{transform:scale(1);opacity:1}}

  /* 用户标签：顶栏已改为白底，文字用暗色 */
  header.top .user-chip{color:var(--sub)}
  header.top .user-chip b{color:var(--ink)}
  header.top .user-chip span{color:var(--brand)}
  /* 侧边栏品牌区：仅桌面端显示 */
  nav.bottom .nav-brand{display:none;}

  /* ============ 屏内子页签：吸顶固定，滚动时只有内容动 ============ */
  /* 吸附位置 = 页头高度，由 JS 写入 --hdr-h（页头高度会随用户名等信息变化） */
  .segwrap{position:sticky;top:var(--hdr-h,0px);z-index:15;background:var(--bg);
    padding:10px 0 12px;margin:-10px -14px 0;padding-left:14px;padding-right:14px;
    box-shadow:0 8px 10px -12px rgba(10,10,35,.18);}
  .segwrap .seg.full{margin:0;}

  /* ============ 全屏子页面：内容多的东西不再挤在弹窗里，点一下跳进来 ============ */
  .subpage{position:fixed;inset:0;z-index:100;display:none;background:rgba(15,23,20,.42);}
  .subpage.on{display:flex;}
  .subpage>.sp-box{background:var(--bg);width:100%;max-width:480px;margin:0 auto;
    display:flex;flex-direction:column;overflow:hidden;}
  .sp-head{flex:none;display:flex;align-items:center;gap:10px;background:var(--card);color:var(--ink);
    padding:calc(10px + env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid var(--line);}
  .sp-head .sp-back,.sp-head .sp-act{border:none;border-radius:9px;font-size:14px;cursor:pointer;
    padding:7px 12px;flex:none;}
  .sp-head .sp-back{background:#f0f2f7;color:var(--ink);}
  .sp-head .sp-act{background:var(--brand);color:#fff;font-weight:600;}
  .sp-head .sp-title{flex:1;font-size:16px;font-weight:600;text-align:center;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .sp-tabs{flex:none;display:flex;background:#fff;border-bottom:1px solid var(--line);}
  .sp-tabs .sp-tab{flex:1;border:none;background:none;padding:13px 4px;font-size:13.5px;color:var(--sub);
    cursor:pointer;border-bottom:2.5px solid transparent;white-space:nowrap;}
  .sp-tabs .sp-tab.on{color:var(--green-d);font-weight:700;border-bottom-color:var(--green);}
  .sp-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px;
    padding-bottom:calc(34px + env(safe-area-inset-bottom));}
  .sp-intro{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;
    font-size:13px;color:#54605a;line-height:1.7;margin-bottom:14px;}
  /* ===== S2 统一详情骨架：头部（名称/编号+状态）→ 分区 → 关联区 → 底部动作区 ===== */
  .det-top{padding:2px 2px 10px;}
  .det-name{font-size:19px;font-weight:700;color:var(--ink);line-height:1.35;word-break:break-all;}
  .det-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;
    font-size:12.5px;color:var(--sub);}
  .det-meta .tag-urg,.det-meta .tag-pri,.det-meta .tag-nor{margin-left:0;}
  .rel-item{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px dashed var(--line);cursor:pointer;}
  .rel-item:last-child{border-bottom:none;}
  .rel-item:active{background:#f4f6fb;}
  .rel-item .rm{flex:1;min-width:0;}
  .rel-item .rn{font-size:14px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .rel-item .rs{font-size:12px;color:var(--sub);margin-top:2px;}
  .rel-item .rr{font-size:13px;font-weight:600;color:var(--ink);flex:none;text-align:right;}
  .rel-item .chev{flex:none;color:var(--brand);font-size:17px;opacity:.55;}
  .det-lnk{color:var(--brand);cursor:pointer;border-bottom:1px dashed var(--brand);}
  .det-act{flex:none;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:var(--card);border-top:1px solid var(--line);}
  .det-act.empty{display:none;}
  .det-btn{flex:1;min-width:0;border:1px solid var(--line);background:#fff;color:var(--ink);
    border-radius:10px;padding:11px 4px;font-size:13.5px;font-weight:600;cursor:pointer;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .det-btn:active{background:#eef1f6;}
  .det-btn.pri{background:var(--brand);border-color:var(--brand);color:#fff;}
  .sp-sec{font-size:13px;color:var(--sub);margin:2px 0 10px;}

  /* ============ 静态说明块（方案 P3：不可点、无明细可进的内容不加卡片样式） ============ */
  .static{background:#f6f7f9;border:1px solid var(--line);border-radius:10px;
    padding:9px 12px;color:#6b7280;font-size:12.5px;line-height:1.7;
    box-shadow:none;margin:8px 0;}
  .static strong,.static b{color:#4b5563;}
  /* ============ 统计块可点（方案 P3：统计数字必有去向，点击进对应清单） ============ */
  .stat[data-go]{cursor:pointer;position:relative;padding-right:22px;}
  .stat[data-go]:after{content:"\203A";position:absolute;right:9px;top:50%;transform:translateY(-50%);
    color:var(--brand);font-size:16px;font-weight:700;opacity:.5;}
  .stat[data-go]:active{background:#e6ebff;}
  /* ===== S4 统一组件：时间范围选择器（快捷：今日 / 近7天 / 近30天 / 本月 / 不限） ===== */
  .rbar{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 10px;}
  .rbar .rb{border:1px solid var(--line);background:#fff;color:var(--sub);border-radius:20px;
    padding:5px 12px;font-size:12.5px;cursor:pointer;}
  .rbar .rb.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600;}
  /* ===== S4 入口迁移提示（先提示迁移，下版删除） ===== */
  .migrate{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fff8e6;
    border:1px solid #f0dca8;border-radius:10px;padding:9px 12px;font-size:12.5px;
    color:#7a5b12;line-height:1.7;margin:8px 0;}
  .migrate .mb{border:1px solid #d9b45c;background:#fff;color:#7a5b12;border-radius:8px;
    padding:4px 10px;font-size:12.5px;font-weight:600;cursor:pointer;}
  /* ===== S6 神农三段式：直接答案 / 依据 / 下一步 ===== */
  .ag-sec{margin:6px 0 10px;}
  .ag-t{font-size:11.5px;font-weight:700;color:var(--sub);letter-spacing:.5px;margin-bottom:4px;}
  .ag-b{font-size:14px;line-height:1.75;color:var(--ink);}
  .ag-acts{display:flex;gap:8px;flex-wrap:wrap;}
  .ag-acts .btn,.ag-acts button{margin:0;}

  /* 知识库查询条 */
  .kb-search{flex:none;display:flex;align-items:center;gap:10px;
    padding:10px 14px;border-bottom:1px solid var(--line);background:var(--card);}
  .kb-search input{flex:1;height:38px;padding:0 12px;border:1px solid var(--line);
    border-radius:9px;font-size:14px;background:#fff;color:var(--ink);}
  .kb-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-l);}
  .kb-sch-cnt{flex:none;font-size:12.5px;color:var(--sub);white-space:nowrap;}

  /* 知识库条目：卡片式，留足呼吸空间（原来挤成一列小字） */
  .kb-list{display:grid;grid-template-columns:1fr;gap:12px;}
  .kb-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;
    cursor:pointer;transition:border-color .15s,box-shadow .15s;}
  .kb-item:hover{border-color:#c7d2fe;box-shadow:0 6px 18px rgba(77,107,254,.10);}
  .kb-item .kb-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
  .kb-item .kb-ti{font-size:15.5px;font-weight:600;line-height:1.45;}
  .kb-item .kb-ops{display:flex;gap:8px;flex:none;}
  .kb-item .kb-ops button{border:1px solid var(--line);background:#fff;border-radius:8px;
    padding:5px 11px;font-size:12.5px;color:var(--sub);cursor:pointer;}
  .kb-item .kb-ops button:hover{background:var(--green-l);color:var(--green-d);border-color:#bfd8c8;}
  .kb-item .kb-ops button.del:hover{background:#fdeceb;color:var(--red);border-color:#f2c6c2;}
  /* 运营大屏：双排卡片，一眼看全局；点卡片进明细清单（需求5） */
  .ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
  .ops-card{border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;
    background:var(--card);display:flex;flex-direction:column;gap:2px;min-height:76px;transition:transform .12s;}
  .ops-card:active{transform:scale(.98);}
  .ops-card .t{font-size:12px;color:var(--sub);}
  .ops-card .v{font-size:19px;font-weight:700;line-height:1.25;}
  .ops-card .d{font-size:11.5px;color:var(--sub);}
  .ops-card.warn .v{color:var(--red);}
  .ops-card.good .v{color:var(--ok);}
  /* 报表智能解读 */
  .rep-ins .ri-sec{margin-top:8px;font-size:12px;color:var(--sub);font-weight:700;}
  .rep-ins .ri-li{display:flex;gap:6px;margin-top:5px;font-size:13px;line-height:1.65;color:#374151;}
  .rep-ins .ri-ic{flex:none;color:var(--brand,#0f9d58);font-weight:700;}

  /* 详情里的「字段：值」行（单据号、类型、时间…）。标题与内容之间必须有标点隔开，
     标题定宽、内容左对齐，否则会挤成一长串「单据号TH-20260913-001」看不清。
     原来只写了 .kb-item 作用域，单据/商品/供应商详情弹层里根本没生效，所以一并放宽到全局。 */
  .kb-ln{display:flex;gap:10px;margin-top:8px;font-size:13px;line-height:1.65;color:#4b5563;}
  .kb-ln .k{flex:none;color:var(--sub);width:78px;}
  .kb-ln .k::after{content:"：";}
  .kb-ln .v{flex:1;min-width:0;word-break:break-word;}
  /* 知识库标题：门店侧只显示「我的知识库」；公司侧审核员显示「公司基础库」 */
  /* 进销存功能卡片首页：先看卡片，再进功能（替代七个并排页签） */
  .jxc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 4px}
  .jxc-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 13px;
    cursor:pointer;display:flex;flex-direction:column;gap:5px;min-height:92px;justify-content:center}
  .jxc-card:active{filter:brightness(.95)}
  .jxc-t{font-size:16px;font-weight:600}
  .jxc-d{font-size:12px;color:var(--sub);line-height:1.5}
  .kb-sect{display:flex;align-items:center;gap:8px;margin:14px 2px 8px;font-size:13px;
    font-weight:600;color:var(--sub);letter-spacing:.02em}
  .kb-sect::after{content:"";flex:1;height:1px;background:var(--line)}
  .kb-empty{background:#fff;border:1px dashed var(--line);border-radius:14px;padding:34px 16px;
    text-align:center;color:var(--sub);font-size:14px;}
  /* 无编辑权限的角色：知识库只读（隐藏新增入口） */
  body.kb-noedit #kbAddBtn{display:none !important;}

  /* ============ 平板（768–1023px）：内容加宽，仍用底部导航 ============ */
  @media (min-width:768px) and (max-width:1023px){
    .app{max-width:760px;}
    nav.bottom{max-width:760px;}
    .sheet .box{max-width:760px;}
    .subpage>.sp-box{max-width:760px;}
    .kb-list{grid-template-columns:1fr 1fr;gap:14px;}
    .login-box{max-width:420px;}
    .stat-grid{grid-template-columns:repeat(4,1fr);}
  }

  /* ============ 桌面端（≥1024px）：左侧导航 + 宽屏内容区 ============ */
  @media (min-width:1024px){
    .app{max-width:none;min-height:100vh;display:grid;
      grid-template-columns:244px minmax(0,1fr);grid-template-rows:auto 1fr;
      padding-bottom:0;}
    header.top{grid-column:2;grid-row:1;padding:14px 30px;}
    header.top .t{font-size:15.5px;}
    /* 底部导航 → 左侧竖向导航栏（须重置原 fixed 的 left/bottom，否则 sticky 下会横向漂移压住内容）
       ★2026-09-18：改成品牌蓝底 + 白字，与右侧浅灰内容区明确分区（用户要求）。
         图标 SVG 用的是 stroke="currentColor"，所以只要设 color，图标自动跟着变色。 */
    nav.bottom{grid-column:1;grid-row:1/span 2;position:sticky;top:0;height:100vh;
      left:auto;right:auto;bottom:auto;max-width:none;width:auto;transform:none;
      flex-direction:column;align-items:stretch;
      justify-content:flex-start;gap:2px;border-top:none;border-right:none;
      background:var(--accent-d);color:rgba(255,255,255,.82);
      padding:0 12px 18px;overflow-y:auto;}
    nav.bottom .nav-brand{display:block;padding:22px 12px 16px;font-size:17px;font-weight:700;
      color:#fff;border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:12px;}
    nav.bottom .nav-brand i{display:block;font-style:normal;font-size:11.5px;font-weight:400;
      color:rgba(255,255,255,.72);margin-top:4px;}
    nav.bottom button{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:11px;
      font-size:14.5px;padding:12px 14px;border-radius:11px;width:100%;
      color:rgba(255,255,255,.82);}
    nav.bottom button .ic{font-size:18px;}
    nav.bottom button.on{background:rgba(255,255,255,.18);color:#fff;}
    /* 内容区加宽，两侧留白，减少滚动 */
    .screen{padding:22px 30px 90px;width:100%;max-width:1180px;grid-column:2;grid-row:2;
      align-self:start;}
    .card{padding:18px 20px;}
    .stat-grid{grid-template-columns:repeat(4,1fr);}
    /* 吸顶子页签：左右补足屏幕内边距，滚动时把下面划过的内容整条盖住 */
    .segwrap{margin-left:-30px;margin-right:-30px;padding-left:30px;padding-right:30px;}
    .seg.full button{padding:12px;font-size:14.5px;}
    /* 弹窗：桌面端由「底部抽屉」改为「居中对话框」；
       只占左侧导航栏右侧的内容区，避免遮罩盖住导航（用户要求：在内容区内居中） */
    .sheet{left:244px;align-items:center;padding:28px;}
    .sheet .box{max-width:720px;border-radius:16px;max-height:88vh;padding:22px 26px;
      box-shadow:0 20px 60px rgba(0,0,0,.28);}
    .login-box{max-width:400px;}
    /* 全屏子页面 → 桌面端变成大号居中面板（空间足够，不再拥挤）；
       同样只占内容区，左侧导航保持可用 */
    .subpage{left:244px;align-items:center;padding:26px;}
    .subpage>.sp-box{max-width:1180px;margin:0;height:calc(100vh - 52px);border-radius:16px;
      box-shadow:0 24px 70px rgba(0,0,0,.3);}
    .sp-head{padding:14px 22px;}
    .sp-head .sp-title{font-size:17px;}
    .sp-tabs .sp-tab{font-size:14.5px;padding:14px 4px;}
    .sp-body{padding:20px 24px 44px;}
    /* 知识库条目两列，卡片更大、留白更足 */
    .kb-list{grid-template-columns:1fr 1fr;gap:14px;}
    .kb-item{padding:16px 18px;}
    /* 列表型内容两列排布，信息密度更高、滚动更少 */
    #stockList,#expList,#moveList{
      display:grid;grid-template-columns:1fr 1fr;gap:0 24px;align-content:start;}
    .dm-grid{gap:12px;}
    .cust-grid{gap:12px;}
    /* 悬停反馈（桌面指针） */
    .item:hover{background:#f7f9fa;}
    .combo-row:hover{background:var(--green-l);}
    .btn:hover{filter:brightness(1.06);}
    nav.bottom button:hover{background:rgba(255,255,255,.10);}
    details.fold>summary:hover{color:var(--green);}
  }
  /* 功效标签选择器：分类标题 + 现场新增入口 */
  .eff-cat-hd{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:#7a857e;margin:8px 0 3px;}
  .eff-mini{border:1px solid #cfe0d6;background:#f7fbf8;color:#18794b;font-size:11.5px;
    padding:2px 8px;border-radius:10px;cursor:pointer;line-height:1.6;font-family:inherit;}
  .eff-mini:hover{background:#e9f5ee;}
  /* 小组标题（分析卡片里仍在用） */
  .demand-sec{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;
    color:#2c3a33;margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line);}
  .demand-sec:first-child{margin-top:4px;}
  .demand-sec .pill{margin:0 0 0 auto;}
  /* 用肥需求：顶部汇总条 + 三列小卡片，点小卡片弹出详情大卡 */
  .dm-sum{display:flex;gap:8px;margin:2px 0 12px;}
  .dm-sumb{flex:1;min-width:0;background:var(--brand-l);border:1px solid #e3e8f6;border-radius:12px;
    padding:9px 6px;text-align:center;font-family:inherit;cursor:default;}
  .dm-sumb .n{display:block;font-size:19px;font-weight:700;line-height:1.25;
    font-variant-numeric:tabular-nums;}
  .dm-sumb .l{display:block;font-size:11.5px;color:var(--sub);margin-top:2px;white-space:nowrap;}
  .dm-sumb.soon{background:#fff8ec;border-color:#f3e0bd;}
  .dm-sumb.soon .n{color:#b06a10;}
  .dm-sumb.over{background:#fdf2f1;border-color:#f6d1cd;}
  .dm-sumb.over .n{color:#c0392b;}
  .dm-sumb.over{cursor:pointer;}
  .dm-sumb.on{box-shadow:inset 0 0 0 2px rgba(192,57,43,.35);}
  .dm-sumb .arw{font-size:10.5px;color:var(--sub);}
  .dm-sechd{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#2c3a33;
    margin:14px 0 7px;}
  .dm-sechd:first-child{margin-top:2px;}
  .dm-sechd .pill{margin:0;}
  .dm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-content:start;}
  .dm-mini{background:#f7faf8;border:1px solid #e3ebe6;border-left:3px solid #9db8a9;border-radius:11px;
    padding:8px 9px 9px;display:flex;flex-direction:column;gap:4px;cursor:pointer;min-width:0;
    text-align:left;font-family:inherit;}
  .dm-mini:active{filter:brightness(.97);}
  .dm-mini.soon{background:#fff8ec;border-color:#f3e0bd;border-left-color:#e0a03a;}
  .dm-mini.urgent{background:#fdf2f1;border-color:#f6d1cd;border-left-color:#e5484d;}
  .dm-mini.over{background:#fdf2f1;border-color:#f6d1cd;border-left-color:#c0392b;}
  .dm-mini .nm{font-size:13.5px;font-weight:600;color:var(--ink);overflow:hidden;
    text-overflow:ellipsis;white-space:nowrap;}
  .dm-mini .due{font-size:11px;line-height:1.45;color:#4a564f;}
  .dm-mini .due b{font-size:12.5px;font-variant-numeric:tabular-nums;}
  .dm-mini.urgent .due b,.dm-mini.over .due b{color:#c0392b;}
  .dm-mini.soon .due b{color:#b06a10;}
  .dm-mini .mg{font-size:11px;color:var(--sub);overflow:hidden;text-overflow:ellipsis;
    white-space:nowrap;}
  .dm-mini .ops{display:flex;gap:5px;margin-top:3px;}
  .dm-mini .ops .btn{flex:1;min-width:0;margin:0;padding:5px 2px;font-size:11.5px;border-radius:8px;
    text-align:center;text-decoration:none;line-height:1.5;}
  /* 详情大卡（点小卡片后弹出，内容与旧版一致）；层高压过手机访问提示条，避免遮住底部按钮 */
  .dm-item{background:#fff;border:1px solid var(--line);border-left:4px solid #9db8a9;
    border-radius:12px;padding:12px 13px;display:flex;flex-direction:column;gap:8px;}
  .dm-item.urgent{background:#fdf2f1;border-color:#f6d1cd;border-left-color:#e5484d;}
  .dm-item.priority{background:#fff8ec;border-color:#f3e0bd;border-left-color:#e0a03a;}
  .dm-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
  .dm-nm{font-size:15px;font-weight:600;line-height:1.45;color:var(--ink);}
  .dm-nm .dm-sub{font-size:12.5px;font-weight:400;color:var(--sub);}
  .dm-lns{display:flex;flex-direction:column;gap:4px;}
  .dm-ln{display:flex;gap:8px;font-size:13px;line-height:1.65;color:#3c4a43;}
  .dm-ln .k{flex:0 0 58px;color:var(--sub);}
  .dm-ln .v{flex:1;min-width:0;word-break:break-word;}
  .dm-ln .v b{color:var(--ink);}
  .dm-basis{font-size:12px;line-height:1.65;color:#8a9490;
    border-top:1px dashed var(--line);padding-top:7px;}
  .dm-ops{display:flex;gap:8px;flex-wrap:wrap;}
  .dm-ops .btn{flex:1;min-width:108px;margin-top:0;text-align:center;text-decoration:none;}
  /* 客户档案：三列小卡片（原来是一行一条，占地方） */
  .cust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-content:start;}
  .cust-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 10px;
    cursor:pointer;min-width:0;display:flex;flex-direction:column;gap:3px;}
  .cust-card:active{filter:brightness(.95)}
  .cust-card .nm{font-size:13.5px;font-weight:600;color:var(--ink);overflow:hidden;
    text-overflow:ellipsis;white-space:nowrap;}
  .cust-card .mg{font-size:11px;color:var(--sub);overflow:hidden;text-overflow:ellipsis;
    white-space:nowrap;}
  .cust-card .ph{font-size:11.5px;color:#3c4a43;font-variant-numeric:tabular-nums;overflow:hidden;
    text-overflow:ellipsis;white-space:nowrap;}
  /* 实验/回访记录：状态徽章 */
  .exp-badge{font-size:11.5px;padding:2px 8px;border-radius:10px;font-weight:600;white-space:nowrap;}
  .exp-ok{background:#e9f5ee;color:#18794b;}
  .exp-fail{background:#fdecec;color:#c0392b;}
  .exp-run{background:#eef2f5;color:#5a6a75;}
  .exp-follow{background:#fdf4e3;color:#a26a10;}

  /* ============ 手机访问提示条（在电脑上打开时，告诉用户手机该访问哪个地址） ============ */
  .nettip{position:fixed;left:12px;right:12px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 10px);
    z-index:60;background:var(--navy);color:#fff;border-radius:12px;padding:10px 12px;
    display:flex;align-items:center;gap:10px;box-shadow:0 12px 30px rgba(10,10,35,.26);font-size:13px;}
  .nettip .nt-tx{flex:1;min-width:0;text-align:left;}
  .nettip .nt-tx b{display:block;font-size:11.5px;opacity:.72;font-weight:500;margin-bottom:1px;}
  .nettip .nt-tx span{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .nettip button{border:none;border-radius:8px;padding:7px 11px;font-size:12.5px;cursor:pointer;flex:none;}
  .nettip .nt-btn{background:var(--brand);color:#fff;}
  .nettip .nt-x{background:rgba(255,255,255,.14);color:#fff;padding:7px 10px;}
  @media (min-width:1024px){ .nettip{left:auto;right:26px;bottom:auto;top:78px;width:380px;} }

  /* 图表与进度条 */
  canvas.chart{width:100%;display:block;}
  .hbar{margin:9px 0;}
  .hbar .hl{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px;gap:10px;}
  .hbar .hl .hv{color:var(--sub);white-space:nowrap;}
  .hbar .hb{height:8px;background:#eef1f6;border-radius:5px;overflow:hidden;}
  .hbar .hb>i{display:block;height:100%;background:var(--brand);border-radius:5px;}
  .rank-no{display:inline-block;width:18px;height:18px;line-height:18px;text-align:center;border-radius:5px;
    background:var(--brand-l);color:var(--brand-d);font-size:11.5px;font-weight:700;margin-right:7px;}

  /* 页签多时收紧字号（如进销存 5 个页签） */
  .seg.five button{font-size:12.5px;padding:11px 2px;}
  .seg.seven button{font-size:11.5px;padding:10px 0;letter-spacing:-.02em;}
  .seg.seven button svg.tic{width:12px;height:12px;margin-right:2px;vertical-align:-2px;}
  .lot-badge{font-size:11px;padding:1px 6px;border-radius:8px;margin-left:6px;white-space:nowrap}
  .lot-warn{background:#fff4e5;color:#b25e00;border:1px solid #ffd8a8}
  .lot-bad{background:#ffe9e9;color:#b00020;border:1px solid #ffc9c9}
  .rep-tbl{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:8px}
  .rep-tbl th,.rep-tbl td{border-bottom:1px solid var(--line);padding:6px 4px;text-align:left;white-space:nowrap}
  .rep-tbl th{color:var(--sub);font-weight:600;background:#f7f9fb}
  .nav.bottom button .ic svg{width:19px;height:19px;display:block;}
  .seg.full button{letter-spacing:-.01em;}

  /* ── 分析页：三栏目切换 + 首卡「分析与建议」 ── */
  .ana-seg{margin:2px 0 2px;}
  .ana-seg.full button{padding:12px 4px;font-size:14px;}
  .ana-pane>.card:first-child{margin-top:12px;}
  .ana-hero{position:relative;}
  .hero-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px;}
  .hero-row h3{margin:0;flex:1;min-width:0;}
  .hero-row .btn{margin-top:0;flex:none;display:inline-flex;align-items:center;justify-content:center;
    gap:5px;background:var(--brand);color:#fff;border:none;border-radius:999px;padding:8px 14px;
    font-size:13px;font-weight:600;letter-spacing:0;}
  .hero-row .btn svg{width:14px;height:14px;flex:none;}
  .hero-row .btn:disabled{opacity:.55;}
  .ana-ai{margin-top:10px;padding:11px 12px;background:var(--brand-l);border:1px solid var(--line);
    border-radius:10px;font-size:13.5px;line-height:1.72;color:var(--ink);}
  .ana-ai:empty{display:none;}
  .ana-ai .sp-intro{font-size:13.5px;}

  /* ── 候选词条：手机 Edge / 安卓浏览器对 <datalist> 支持很差（点开常常是空的），
        改为在输入框下方直接铺候选词条，点一下即填，仍然可以手输目录里没有的 ── */
  .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;}
  .chips:empty{display:none;}
  .chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;
    font-size:12.5px;color:var(--sub);cursor:pointer;line-height:1.5;}
  .chips button:hover{border-color:#c7d2fe;color:var(--brand-d);background:var(--brand-l);}
  .chips button.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600;}
  /* 商品页顶部：库存概览 + 右侧操作卡（新增产品 / 智能分析）
     用 grid 分配宽度（1fr + 固定 112px），两卡合计正好占满一行，且天然等高 */
  .inv-top{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:10px;
    align-items:stretch;margin-bottom:12px;}
  .inv-top>.card{margin-bottom:0;min-width:0;}
  .inv-actions{display:flex;flex-direction:column;justify-content:center;gap:8px;
    padding:12px 10px;}
  .inv-actions .btn{margin-top:0 !important;width:100%;white-space:nowrap;
    font-size:13px;padding:9px 2px;letter-spacing:0;}
  .stat-grid.two{grid-template-columns:1fr 1fr;}
  /* 无权限的入口不隐藏、只置灰：让店员知道有这个功能，点一下会明确提示没有权限 */
  .btn.perm-off{opacity:.42;filter:grayscale(1);cursor:not-allowed;}

  /* ── 分析与建议：弹窗 + 思考动画 + 复制 / 转发 ── */
  .think{display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 10px 22px;}
  .think .orb{width:46px;height:46px;border-radius:50%;position:relative;
    background:conic-gradient(from 0deg,var(--brand) 0deg,rgba(77,107,254,.14) 240deg,var(--brand) 360deg);
    animation:anaspin 1.15s linear infinite;}
  .think .orb::after{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff;}
  .think .tx{font-size:13.5px;color:var(--sub);text-align:center;}
  .think .bar{width:190px;height:5px;border-radius:4px;background:#eef1f6;overflow:hidden;}
  .think .bar>i{display:block;height:100%;width:40%;border-radius:4px;background:var(--brand);
    animation:anaslide 1.25s ease-in-out infinite;}
  @keyframes anaspin{to{transform:rotate(360deg);}}
  @keyframes anaslide{0%{margin-left:-42%;}100%{margin-left:102%;}}
  .ana-out{font-size:14px;line-height:1.9;color:var(--ink);white-space:pre-wrap;word-break:break-word;}
  .ana-out .hd{font-weight:700;color:var(--ink);}
  .ana-out .sm{font-size:12.5px;color:var(--sub);}
  .ana-ops{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;}
  .ana-ops .btn{flex:1;min-width:100px;margin-top:0;}

  /* ── 页内通知条（用肥需求提醒） ── */
  .notice{display:flex;align-items:center;gap:10px;background:#fff8e6;border:1px solid #f3e0b0;
    border-radius:12px;padding:11px 13px;margin-bottom:12px;cursor:pointer;}
  .notice .ni{flex:none;width:30px;height:30px;border-radius:9px;background:#fde9c3;color:#a95f10;
    display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;}
  .notice .nt{flex:1;font-size:13.5px;line-height:1.55;color:#7a4a06;}
  .notice .nt b{color:#8a4b00;}
  .notice .nx{flex:none;color:#c08a10;font-size:20px;line-height:1;}

  /* ── 单据行内操作（改 / 删） ── */
  .row-ops{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
  .row-ops .btn{margin-top:0;flex:1;text-align:center;}
  .pill.done{background:#e8f5ec;color:#1f7a45;}

  /* ── 弹窗高度：手机上 92vh 会超出实际可视区（地址栏占位），
        导致长内容（如补货建议）弹出后顶栏被挤出屏幕、要点到底再回弹才恢复 ── */
  .sheet{overscroll-behavior:contain;}
  .sheet .box{max-height:88vh;max-height:min(92vh,88dvh);}
  /* 全屏子页明确撑满高度，长列表滚动发生在 .sp-body 里，顶栏永远不会被顶出去 */
  .subpage>.sp-box{height:100%;max-height:100%;}

  /* ── 进销存：三列功能卡 / 可输入模糊匹配的选择框 / 对账单表格 ── */
  .jxc-grid.three{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .jxc-grid.three .jxc-card{padding:12px 8px}
  .jxc-grid.three .jxc-t{font-size:14px}
  .jxc-grid.three .jxc-d{font-size:11.5px;line-height:1.45}
  /* 选择框升级：原生 select 收起，换成「输入即筛选」的候选列表，避免长下拉里翻找 */
  .sfw{position:relative}
  .sfw>select{display:none !important}
  .sfw-list{display:none;margin-top:6px;max-height:230px;overflow:auto;
    border:1px solid var(--line);border-radius:10px;background:#fff}
  .sfw-list.on{display:block}
  /* R26 单据明细表 */
  .dtable-wrap{overflow-x:auto;margin-top:6px}
  .dtable{width:100%;border-collapse:collapse;font-size:12.5px}
  .dtable th,.dtable td{border:1px solid var(--line);padding:5px 7px;text-align:left}
  .dtable th{background:#f4f7f5;font-weight:600;white-space:nowrap}
  .dtable .r{text-align:right}
  .sfw-it{padding:10px 12px;font-size:14px;border-bottom:1px solid #f2f4f7;cursor:pointer}
  .sfw-it:last-child{border-bottom:none}
  .sfw-it.on{background:var(--brand-l);color:var(--brand-d);font-weight:600}
  .sfw-none{padding:10px 12px;font-size:13px;color:var(--sub)}
  /* 对账单：表格 + 汇总块 */
  .st-tblwrap{overflow:auto;-webkit-overflow-scrolling:touch;margin-top:8px}
  .st-sum{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
  .st-sum .b{background:var(--brand-l);border-radius:10px;padding:9px 11px}
  .st-sum .b .k{font-size:11.5px;color:var(--sub)}
  .st-sum .b .v{font-size:16px;font-weight:700;color:var(--brand-d)}
  .print-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
    .print-row .btn{margin-top:0;flex:1}

  /* ============ R21：可点击卡片一律着色（白底看不出能点，是培训成本的主要来源） ============ */
  /* 首页 7 张功能卡：每张一个色系 + 左侧色条，扫一眼就知道是入口 */
  .jxc-grid .jxc-card{background:linear-gradient(135deg,#e9f4ee,#f8fcf9);border-color:#cfe5da;
    border-left:4px solid #2f8f63;}
  .jxc-grid .jxc-card:nth-child(2){background:linear-gradient(135deg,#e9f0fc,#f8faff);
    border-color:#d2e0f6;border-left-color:#3f6fd8;}
  .jxc-grid .jxc-card:nth-child(3){background:linear-gradient(135deg,#fdf3e4,#fffaf3);
    border-color:#f0dfc0;border-left-color:#d98b1f;}
  .jxc-grid .jxc-card:nth-child(4){background:linear-gradient(135deg,#efeefb,#faf9fe);
    border-color:#dcd7f3;border-left-color:#6b5bd2;}
  .jxc-grid .jxc-card:nth-child(5){background:linear-gradient(135deg,#e9f4f7,#f8fcfd);
    border-color:#cee4ea;border-left-color:#2b8ba0;}
  .jxc-grid .jxc-card:nth-child(6){background:linear-gradient(135deg,#fdeef1,#fff8f9);
    border-color:#f5d7dd;border-left-color:#c0392b;}
  .jxc-grid .jxc-card:nth-child(7){background:linear-gradient(135deg,#edf7ec,#f9fdf8);
    border-color:#d4ead2;border-left-color:#4a9a3f;}
  .jxc-card:active{filter:brightness(.95);}
  /* 客户卡：绿底左边条 */
  .cust-card{background:linear-gradient(135deg,#eaf4ee,#fbfdfc);border-color:#d5e8de;
    border-left:3px solid #2f8f63;}
  .cust-card:active{filter:brightness(.95);}
  /* 知识库条目：蓝底左边条 */
  .kb-item{background:#fbfdff;border-left:3px solid #4d6bfe;}
  /* 通用：可点击的列表行 */
  .item.clickable,.item.item-click{background:linear-gradient(135deg,#eef4fd,#fafcff);
    border-radius:11px;padding:11px 12px;margin-bottom:6px;border:1px solid #dbe6f7;
    border-left:3px solid #4d6bfe;}
  .item.clickable:hover,.item.item-click:hover{background:linear-gradient(135deg,#e6effc,#f6faff);}
  /* 用肥需求：分类汇总块可点（点了滚到对应分组），给出明确的"可点"反馈 */
  .dm-sumb{cursor:pointer;transition:filter .12s ease;}
  .dm-sumb:active{filter:brightness(.95);}
  .dm-sumb.on{box-shadow:inset 0 0 0 2px rgba(47,143,99,.35);}

  /* ===== R21：可点击元素一律着色 =====
     白底看起来像「纯展示」，客户会以为没这个功能，这是培训成本最大的来源。 */
  .item[onclick]{background:linear-gradient(135deg,#eef4fd,#fafcff);border-radius:11px;
    padding:11px 12px;margin-bottom:6px;border:1px solid #dbe6f7;border-left:3px solid #4d6bfe;
    border-bottom:1px solid #dbe6f7;}
  .item[onclick]:active{filter:brightness(.96);}
  .pick{background:linear-gradient(135deg,#eef4fd,#fafcff);border:1px solid #dbe6f7;
    border-left:3px solid #4d6bfe;border-radius:11px;padding:11px 12px;margin-bottom:6px;
    display:flex;align-items:center;justify-content:space-between;gap:8px;}
  .pick:active{filter:brightness(.96);}
  .pick.on{background:linear-gradient(135deg,#e2edfd,#f2f8ff);border-left-color:#2f6fe0;
    box-shadow:inset 0 0 0 1.5px #b7d0f6;}
  .pur-row{background:linear-gradient(135deg,#eff6ff,#fbfdff);border:1px solid #dbe7f8;
    border-radius:12px;padding:11px 12px;margin-bottom:8px;}
  .pur-row .row{margin-top:6px;}
  button.dm-sumb{font:inherit;text-align:center;padding:8px 4px;-webkit-appearance:none;
    appearance:none;color:inherit;}
  .kb-item{cursor:pointer;}
  .me-card[onclick],.stat[onclick],.item[onclick],.dm-mini{cursor:pointer;}
  .dm-sect-flash{animation:dmFlash 1.1s ease;}
  @keyframes dmFlash{0%{background:#fff5cc}100%{background:transparent}}

  /* ============ 神农智能体：入口（右侧球形图标 · 沿用基线版光球样式） ============ */
  /* 神农图标（＝基线版光球样式：彩旋球 + 白色内核 + 呼吸光环） */
  .ai-entry{position:relative;width:42px;height:42px;padding:0;border:0;border-radius:50%;flex:none;
    cursor:pointer;overflow:visible;
    background:conic-gradient(from 0deg,#4d6bfe,#8a5cf6,#22b3a0,#f0a13a,#4d6bfe);
    animation:aiSpin 4s linear infinite;box-shadow:0 0 20px rgba(77,107,254,.42);}
  .ai-entry::after{content:"";position:absolute;inset:6px;border-radius:50%;
    background:radial-gradient(circle at 34% 28%,#fff,#e2e9ff 58%,#c6d3ff);}
  .ai-entry::before{content:"";position:absolute;inset:-6px;border-radius:50%;
    border:1px solid rgba(77,107,254,.38);animation:aiPulse 2.4s ease-out infinite;}
  .ai-entry svg{display:none;}
  .ai-entry:active{filter:brightness(.96);}
  .ai-entry .ai-dot{display:none;}
  .ai-entry .ai-ic{display:none;}
  /* 神农图标旁版本号 + 打开主界面更新提示 */
  .ver-badge{font-size:10px;line-height:1;font-weight:600;padding:2px 6px;border-radius:6px;margin-left:6px;
    background:var(--accent-l);color:var(--accent);border:1px solid var(--accent-brd);white-space:nowrap;vertical-align:middle;}
  .ver-badge.muted{opacity:.6;}
  .chg-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:9999;padding:18px;}
  .chg-overlay.show{display:flex;}
  .chg-box{background:#fff;border-radius:16px;max-width:440px;width:100%;max-height:84vh;overflow:auto;box-shadow:0 18px 50px rgba(0,0,0,.28);}
  .chg-box .hd{padding:20px 22px 8px;}
  .chg-box .hd .t{font-size:18px;font-weight:700;color:#1c2536;}
  .chg-box .hd .v{display:inline-block;margin-top:8px;font-size:12px;color:#3a7afe;background:#eaf1ff;padding:3px 10px;border-radius:999px;font-weight:600;}
  .chg-box .bd{padding:6px 22px 2px;}
  .chg-box .bd ul{margin:0;padding-left:18px;}
  .chg-box .bd li{margin:10px 0;line-height:1.6;color:#333;font-size:14px;}
  .chg-box .ft{padding:12px 22px 20px;text-align:right;}
  .chg-box .ft button{background:#3a7afe;color:#fff;border:none;border-radius:10px;padding:9px 20px;font-size:14px;font-weight:600;cursor:pointer;}
  @keyframes aiFlow{0%{background-position:0% 50%}100%{background-position:320% 50%}}
  @keyframes aiSweep{0%{transform:translateX(-170%)}55%{transform:translateX(280%)}100%{transform:translateX(280%)}}
  .ai-orb{width:62px;height:62px;border-radius:50%;position:relative;flex:none;
    background:conic-gradient(from 0deg,#4d6bfe,#8a5cf6,#22b3a0,#f0a13a,#4d6bfe);
    animation:aiSpin 4s linear infinite;box-shadow:0 0 24px rgba(77,107,254,.42);}
  .ai-orb::after{content:"";position:absolute;inset:7px;border-radius:50%;
    background:radial-gradient(circle at 34% 28%,#fff,#e2e9ff 58%,#c6d3ff);}
  .ai-orb::before{content:"";position:absolute;inset:-9px;border-radius:50%;
    border:1px solid rgba(77,107,254,.38);animation:aiPulse 2.4s ease-out infinite;}
  .ai-orb.small{width:26px;height:26px;box-shadow:0 0 12px rgba(77,107,254,.35);}
  .ai-orb.small::after{inset:3px;}
  .ai-orb.small::before{display:none;}
  .ai-orb.talk{animation:aiSpin 1.5s linear infinite;}
  @keyframes aiSpin{to{transform:rotate(360deg)}}
  @keyframes aiPulse{0%{transform:scale(.84);opacity:.85}100%{transform:scale(1.22);opacity:0}}
  .ai-hd{display:flex;align-items:center;gap:12px;}
  .ai-hd .ai-tt{font-size:16px;font-weight:700;color:var(--ink);}
  .ai-hd .ai-st{font-size:12px;color:var(--sub);margin-top:2px;}
  .ai-msgs{margin-top:12px;display:flex;flex-direction:column;gap:9px;
    max-height:44vh;overflow:auto;padding-right:2px;}
  .ai-m{max-width:86%;border-radius:13px;padding:10px 12px;font-size:13.5px;line-height:1.68;
    white-space:pre-wrap;word-break:break-word;}
  .ai-m.ai{background:#eef3ff;border:1px solid #dbe6fb;align-self:flex-start;color:#22304f;}
  .ai-m.me{background:var(--green);color:#fff;align-self:flex-end;}
  .ai-m.typing{display:flex;align-items:center;gap:8px;color:var(--sub);font-size:12.5px;}
  .ai-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
  .ai-chips button{border:1px solid #d9e2fb;background:#f6f9ff;color:#33409a;font-size:12px;
    padding:6px 10px;border-radius:999px;cursor:pointer;}
  .ai-chips button:hover{background:#eaefff;}
  .ai-mic{border:1px solid var(--line);background:#fff;border-radius:12px;width:46px;flex:none;
    font-size:17px;line-height:1;cursor:pointer;}
  .ai-mic.on{background:#fdeceb;border-color:#f2c6c2;animation:aiPulse 1.1s ease-out infinite;}
  .ai-inrow{display:flex;gap:8px;margin-top:10px;align-items:stretch;}
/* 神农回答的「依据」与低置信提示（批2）：结论必须能点开核对原文 */
.ai-src{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);
  display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ai-src .t{font-size:12px;color:var(--sub)}
.ai-src button{font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);
  background:var(--brand-l);color:var(--brand-d);cursor:pointer;font-family:inherit}
.ai-src .more{font-size:12px;color:var(--sub)}
.ai-cau{margin-top:8px;font-size:12.5px;line-height:1.6;color:#8a5b12;background:#fdf6e6;
  border:1px solid #f2e0bb;border-radius:10px;padding:8px 10px}
  .ai-inrow input{flex:1;min-width:0;}
  .ai-chips.tg button{white-space:normal;text-align:left;line-height:1.5;}
  /* 猜你想要：神农弹层下方的推荐按钮区 */
  .ai-guess-wrap{margin-top:10px;padding-top:9px;border-top:1px dashed var(--line);}
  .ai-guess-tt{font-size:12px;color:var(--sub);margin-bottom:6px;}
  .ai-guess{display:flex;flex-wrap:wrap;gap:6px;}
  .ai-guess button{border:1px solid #cfe8d8;background:#f2faf5;color:#1f6b46;font-size:12px;
    padding:6px 10px;border-radius:999px;cursor:pointer;}
  .ai-guess button:hover{background:#e4f4ea;}
  /* 切换账号 / 未登录时，主界面不许露出来（登录前绝不能看到业务界面） */
  body:not(.authed) .app{display:none !important;}

  /* ═══ S2 · Airtable 通用组件层（全站继承：按钮 / 输入 / 分段 / 卡片 / 折叠 / 提醒条 / 开单商品行）═══ */
  /* 按钮：主操作 = Airtable 蓝实色；次要 = 白底细边；提示型 = 低饱和同色浅底（不用高饱和实色） */
  .btn{border-radius:var(--radius);background:var(--accent);color:#fff;
    box-shadow:0 1px 2px rgba(4,14,32,.10);letter-spacing:.01em;}
  .btn:active{background:var(--accent-d);box-shadow:none;}
  .btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:none;}
  .btn.ghost:active{background:var(--bg);}
  .btn.amber{background:#fff8ec;color:#8a5406;border:1px solid #f0dcb4;box-shadow:none;}
  .btn.amber:active{background:#fdf3e2;}
  .btn.sm{padding:9px 12px;font-size:13.5px;border-radius:10px;}
  .btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
  .seg button:focus-visible{outline:2px solid var(--accent-brd);outline-offset:2px;}
  /* 输入：细边白底；聚焦 = Airtable 蓝描边 + 浅蓝光环（替代原绿色聚焦态） */
  input,select,textarea{border-radius:var(--radius);border:1px solid var(--line);color:var(--navy);}
  input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-l);}
  input[readonly]{background:var(--accent-l);color:var(--accent-d);font-weight:700;border-color:var(--accent-brd);}
  .amt-ro,.amt-in{text-align:right;font-size:17px;font-variant-numeric:tabular-nums;}
  .amt-ro{background:var(--accent-l)!important;color:var(--accent-d)!important;font-weight:700;border-color:var(--accent-brd);}
  .amt-in{font-weight:600;}
  /* 分段控件（现结 / 赊欠 等）：选中 = Airtable 蓝实色 */
  .seg{border-radius:var(--radius);border:1px solid var(--line);background:#fff;}
  .seg button{background:#fff;color:var(--sub);font-weight:500;}
  .seg button.on{background:var(--accent);color:#fff;font-weight:600;}
  /* 卡片：白底 + 细边 + 极轻投影 */
  .card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(4,14,32,.04);}
  #sc-sale>.card{padding:16px 15px;}
  /* 折叠区标题回到海军蓝，不与主色抢 */
  details.fold{border-radius:var(--radius);background:#fafbfc;}
  details.fold>summary{color:var(--navy);}
  /* 页内通知条（用肥需求提醒）：归入「机会」绿档，与首页提醒口径一致 */
  .notice{background:#f2f9f5;border:1px solid #cfe7da;border-radius:var(--radius);}
  .notice .ni{background:#e2f2e9;color:#21724f;}
  .notice .nt{color:#1f5e42;}
  .notice .nt b{color:#17603f;}
  .notice .nx{color:#8fb9a5;}
  /* 开单商品行：每行一张浅卡，便于逐行核对 */
  #saleItems .prod{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:9px 10px;margin-top:8px;border-bottom:1px solid var(--line);}
  #saleItems .prod .qty{width:68px;}
  /* 提交开单：全站唯一实色主按钮，加粗提高可点性 */
  #saleSubmitBtn{font-size:16px;padding:15px;border-radius:var(--radius);}
  /* 二级分段（试验示范内的子页签：实验录入 / 用后回访 / 记录汇总）
     与一级「主色实色」区分层级：白底细边药丸，选中 = 主色浅底 + 主色文字 */
  #cust-exp .seg{display:flex;gap:6px;border:none;border-radius:0;overflow:visible;background:transparent;}
  #cust-exp .seg button{flex:1;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--sub);}
  #cust-exp .seg button.on{background:var(--accent-l);color:var(--accent-d);
    border-color:var(--accent-brd);font-weight:600;}

/* ================= 补充样式一（原 L877–L940） ================= */
  /* ===== 工作台首页（Airtable 定稿样式 · 2026-09-15 二次对齐） ===== */
  .greet{display:flex;justify-content:space-between;align-items:center;gap:14px;
    background:var(--accent-l);border:1px solid var(--accent-brd);border-radius:var(--radius);
    padding:14px 16px;margin-bottom:14px;}
  .greet .hi{font-size:21px;font-weight:700;color:var(--navy);letter-spacing:.1px;flex:0 0 auto;}
  .greet .sub{font-size:12px;color:var(--sub);text-align:right;line-height:1.5;min-width:0;}
  .sec-h{font-size:13px;font-weight:600;color:var(--sub);letter-spacing:.3px;padding:10px 0 8px;}
  /* 今日提醒：分级色彩（紧急红 / 重要琥珀 / 机会绿） */
  .rems{display:flex;flex-direction:column;gap:9px;margin-bottom:6px;}
  .rem{display:flex;align-items:center;gap:11px;border-radius:var(--radius);padding:11px 12px;cursor:pointer;
    border:1px solid var(--brd);background:var(--rbg);border-left:4px solid var(--lc);
    box-shadow:rgba(15,48,106,.05) 0 1px 2px;}
  .rem .ic{width:34px;height:34px;border-radius:10px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
    background:var(--ibg);color:var(--lc);}
  .rem .ic svg{width:18px;height:18px;display:block;}
  .rem .tx{flex:1;min-width:0;}
  .rem .t1{font-size:13px;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:7px;}
  .rem .t2{font-size:11px;color:var(--mut);margin-top:2px;}
  .rem .tg{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;color:#fff;background:var(--lc);white-space:nowrap;}
  .rem .ar{color:var(--mut);font-size:16px;flex:0 0 auto;}
  .rem.urg{--lc:#d92d20;--brd:#f3cfca;--rbg:#fdf0ef;--ibg:#fbe4e1;}
  .rem.pri{--lc:#e08a00;--brd:#f3e0bf;--rbg:#fdf6ea;--ibg:#fbeed7;}
  .rem.opp{--lc:#2f8f63;--brd:#cfe5da;--rbg:#eef7f1;--ibg:#e1f1e8;}
  .rem.ok{--lc:#8a94a6;--brd:#e0e2e6;--rbg:#f8fafc;--ibg:#eef1f5;}
  /* 常用功能：分级色彩（R21 每张一色 + 左侧色条） */
  .grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
  .tile{display:flex;align-items:center;gap:11px;border-radius:var(--radius);padding:13px 12px;cursor:pointer;
    border:1px solid var(--brd);background:var(--tb);border-left:4px solid var(--lc);
    box-shadow:rgba(15,48,106,.05) 0 1px 3px;transition:transform .12s ease,filter .12s ease;}
  .tile:active{transform:scale(.98);filter:brightness(.98);}
  .tile .ic{width:40px;height:40px;border-radius:11px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
    background:var(--ibg);color:var(--lc);}
  .tile .ic svg{width:21px;height:21px;display:block;}
  .tile .tx{font-size:13px;font-weight:600;color:var(--navy);}
  .tile .ds{font-size:10px;color:var(--mut);margin-top:2px;}
  .tile.c-blue{--lc:#3f6fd8;--brd:#d2e0f6;--tb:#eef2fc;--ibg:#e4ebfb;}
  .tile.c-green{--lc:#2f8f63;--brd:#cfe5da;--tb:#eef7f1;--ibg:#e1f1e8;}
  .tile.c-teal{--lc:#2b8ba0;--brd:#cee4ea;--tb:#eaf5f8;--ibg:#dceff4;}
  .tile.c-purple{--lc:#6b5bd2;--brd:#dcd7f3;--tb:#f1eefb;--ibg:#e9e4f7;}
  .tile.c-indigo{--lc:#4d6bfe;--brd:#d4ddfd;--tb:#eef2fe;--ibg:#e3e9fd;}
  .tile.c-amber{--lc:#d98b1f;--brd:#f0dfc0;--tb:#fdf4e6;--ibg:#fbeed8;}
  .tile.c-red{--lc:#c0392b;--brd:#f5d7dd;--tb:#fbecea;--ibg:#f8e0dd;}
  .tile.primary{background:#1b61c9;border-color:transparent;--lc:#fff;}
  .tile.primary .ic{background:rgba(255,255,255,.18);color:#fff;}
  .tile.primary .tx,.tile.primary .ds{color:#fff;}
  .tile.primary .ds{opacity:.85;}
  /* 神农智能体卡 */
  .ai-card{display:flex;gap:13px;align-items:flex-start;border-radius:16px;padding:15px;margin-bottom:14px;cursor:pointer;
    background:#f3f8ff;border:1px solid #d4e4fb;box-shadow:rgba(15,48,106,.06) 0 0 20px;}
  /* 神农卡图标：与顶栏同一基线光球样式（尺寸/位置不变，仅换图形） */
  .ai-ball{position:relative;width:42px;height:42px;padding:0;border:0;border-radius:50%;flex:0 0 auto;
    background:conic-gradient(from 0deg,#4d6bfe,#8a5cf6,#22b3a0,#f0a13a,#4d6bfe);
    animation:aiSpin 4s linear infinite;box-shadow:0 0 18px rgba(77,107,254,.40);}
  .ai-ball::after{content:"";position:absolute;inset:6px;border-radius:50%;
    background:radial-gradient(circle at 34% 28%,#fff,#e2e9ff 58%,#c6d3ff);}
  .ai-ball svg{display:none;}
  .ai-card .nm{font-size:14px;font-weight:700;color:var(--navy);}
  .ai-card .ds{font-size:11px;color:var(--mut);margin-top:3px;line-height:1.5;}
  .ai-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px;}
  .ai-chip{font-size:11px;padding:6px 10px;border-radius:999px;background:#fff;color:#333;
    border:1px solid var(--line);box-shadow:rgba(45,127,249,.08) 0 1px 2px;}
  .ai-chip:active{background:var(--accent);color:#fff;border-color:var(--accent);}
  /* 顶栏神农球尺寸（定稿 46px）；外观（彩旋光球）由 .ai-entry 基类提供 */
  header.top .ai-entry{width:46px;height:46px;}

/* ================= 补充样式二（原 L944–L1050） ================= */
  /* ══════════════════════════════════════════════════════════════════
     2026-09-15 用户 6 条 UI 修改（S2b）
     ① 分段导航同色系不同深浅  ② 网页版字体放大
     ③ 运营大屏小卡片恢复分级色 ④ 分析页导航上移 + 五格 + 竖线隔断
     ══════════════════════════════════════════════════════════════════ */

  /* ── 需求2：同一色系（Airtable 蓝）五档深浅，相邻项之间有竖线区隔 ── */
  .seg{background:#fff;}
  .seg button{background:transparent;}
  .seg button + button{border-left:1px solid rgba(27,97,201,.20);}
  .seg button:nth-child(5n+1){background:var(--sg1);}
  .seg button:nth-child(5n+2){background:var(--sg2);}
  .seg button:nth-child(5n+3){background:var(--sg3);}
  .seg button:nth-child(5n+4){background:var(--sg4);}
  .seg button:nth-child(5n+5){background:var(--sg5);}
  .seg button.on{color:#fff;font-weight:600;}
  .seg button:nth-child(5n+1).on{background:var(--sg1a);}
  .seg button:nth-child(5n+2).on{background:var(--sg2a);}
  .seg button:nth-child(5n+3).on{background:var(--sg3a);}
  .seg button:nth-child(5n+4).on{background:var(--sg4a);}
  .seg button:nth-child(5n+5).on{background:var(--sg5a);}
  /* 二级分段（试验示范内子页签）保持独立外观，不被上面的深浅规则覆盖 */
  #cust-exp .seg button{background:#fff;}

  /* 表单控件统一继承全局中文字体栈（默认走浏览器 UI 字体，中文回退字宽偏大） */
  button,input,select,textarea{font-family:inherit;}

  /* ── 需求5：分析页 5 格导航（运营大屏 + 四条明细）── */
  #anaSeg{margin:0 0 12px;}
  #anaSeg button{padding:11px 2px;font-size:12px;letter-spacing:0;line-height:1.25;
    white-space:nowrap;}

  /* ── 需求4：运营大屏小卡片恢复分级色（每张一色 + 左侧色条）── */
  .ops-card{position:relative;overflow:hidden;padding-left:15px;}
  .ops-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;}
  .ops-card .v{color:var(--navy);}
  .ops-card.c-blue{background:#eef4fd;border-color:#d3e1f8;}
  .ops-card.c-blue::before{background:#3f6fd8;}
  .ops-card.c-blue .t{color:#2b53a4;}
  .ops-card.c-indigo{background:#eff2fe;border-color:#d5dcfb;}
  .ops-card.c-indigo::before{background:#4d6bfe;}
  .ops-card.c-indigo .t{color:#33459f;}
  .ops-card.c-green{background:#edf7f1;border-color:#cfe6db;}
  .ops-card.c-green::before{background:#2f8f63;}
  .ops-card.c-green .t{color:#1f6b49;}
  .ops-card.c-teal{background:#eaf5f8;border-color:#c9e3ec;}
  .ops-card.c-teal::before{background:#2b8ba0;}
  .ops-card.c-teal .t{color:#1d6377;}
  .ops-card.c-purple{background:#f2f0fb;border-color:#dbd5f3;}
  .ops-card.c-purple::before{background:#6b5bd2;}
  .ops-card.c-purple .t{color:#4c3fa4;}
  .ops-card.c-amber{background:#fdf6ea;border-color:#f2e0bf;}
  .ops-card.c-amber::before{background:#d98b1f;}
  .ops-card.c-amber .t{color:#9a6412;}
  .ops-card.c-red{background:#fdeeed;border-color:#f6d4d0;}
  .ops-card.c-red::before{background:#c0392b;}
  .ops-card.c-red .t{color:#9c2e22;}

  /* ── 需求3：网页版（平板 / 桌面）字体放大，填掉空旷感 ── */
  @media (min-width:768px){
    body{font-size:16.5px;line-height:1.62;}
    .card h3{font-size:16.5px;}
    .card{padding:18px 20px;}
    .hint{font-size:14px;}
    .muted,.static{font-size:13.5px;}
    .sec-h{font-size:14.5px;}
    .sub{font-size:14.5px;}
    .stat{padding:14px;}
    .stat .n{font-size:26px;}
    .stat .l{font-size:13.5px;}
    .tile .tx{font-size:15px;}
    .tile .ds{font-size:12.5px;}
    .tile .ic{width:44px;height:44px;}
    .jxc-t{font-size:17px;}
    .jxc-d{font-size:13.5px;}
    .jxc-card{min-height:104px;padding:17px 15px;}
    .jxc-grid.three .jxc-t{font-size:15.5px;}
    .jxc-grid.three .jxc-d{font-size:13px;}
    .jxc-grid.three .jxc-card{padding:15px 11px;}
    .ops-card .t{font-size:13.5px;}
    .ops-card .v{font-size:23px;}
    .ops-card .d{font-size:13px;}
    .ops-card{min-height:86px;padding:12px 14px 12px 17px;}
    .kb-ln{font-size:14.5px;}
    .kv2{font-size:15px;}
    .fld{font-size:14px;}
    input,select,textarea{font-size:16px;}
    .btn{font-size:16.5px;}
    .btn.sm{font-size:14.5px;}
    .pill{font-size:13px;}
    .seg button{font-size:15.5px;}
    .seg.full button{font-size:16px;padding:13px 6px;}
    #anaSeg button{font-size:15px;padding:13px 6px;white-space:nowrap;}
    .ai-card .nm{font-size:15.5px;}
    .ai-card .ds{font-size:12.5px;}
    .ai-chip{font-size:12.5px;}
    .greet .hi{font-size:25px;}
    .greet .sub,.greet .sub2{font-size:13.5px;}
    th,td{font-size:14.5px;}
    header.top .t{font-size:17px;}
    .ver-badge{font-size:11.5px;padding:3px 8px;}
    nav.bottom button{font-size:15.5px;}
  }
  @media (min-width:1024px){
    .screen{max-width:1060px;padding:26px 34px 96px;}
    nav.bottom button{font-size:16px;padding:13px 15px;}
  }
