
  :root{
    --bg:#f4f6f9; --ink:#0f1b2d; --ink2:#4d5a6e; --ink3:#8b95a7;
    --line:#e5e9f0; --brand:#123a6b; --brand2:#1d5aa8; --accent:#e07b2f;
    --ok:#0f7a56; --warn:#b04a1e;
    --radius:14px;
    --shadow:0 1px 2px rgba(15,27,45,.04), 0 8px 24px rgba(15,27,45,.06);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.65;
    font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,-apple-system,sans-serif;
    -webkit-font-smoothing:antialiased;padding-bottom:76px}
  body.lock{overflow:hidden}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit}
  .wrap{max-width:1180px;margin:0 auto;padding:0 22px}

  .demo-bar{background:#fff6ec;color:#8a4a12;border-bottom:1px solid #f3e0c9;font-size:12.5px;text-align:center;padding:7px 16px;display:none}.demo-bar:not(:empty){display:block}
  .demo-bar b{color:#a2520d}

  /* 顶栏 */
  .topbar{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
  .topbar-inner{display:flex;align-items:center;gap:20px;height:62px}
  .brand{display:flex;align-items:center;gap:10px;font-weight:700;white-space:nowrap}
  .brand .mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(140deg,var(--brand2),var(--brand));color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700}
  .brand small{display:block;font-weight:500;font-size:11px;color:var(--ink3);letter-spacing:1.4px}
  .navlinks{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}
  .navlinks::-webkit-scrollbar{display:none}
  .navlinks a{padding:7px 12px;border-radius:9px;font-size:14px;color:var(--ink2);white-space:nowrap}
  .navlinks a:hover{background:#eef2f8;color:var(--brand)}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;font-size:14px;font-weight:600;cursor:pointer;
    padding:9px 17px;border-radius:10px;background:var(--brand);color:#fff;transition:transform .12s,box-shadow .2s;white-space:nowrap}
  .btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(18,58,107,.24)}
  .btn.ghost{background:#fff;color:var(--brand);border:1px solid #cfd9e6}
  .btn.accent{background:var(--accent)}
  .btn.sm{padding:7px 14px;font-size:13px}

  .userchip{display:flex;align-items:center;gap:8px;background:#eef2f8;border:1px solid #dde5f0;border-radius:99px;padding:4px 10px 4px 4px;font-size:13px}
  .userchip .av{width:26px;height:26px;border-radius:50%;background:linear-gradient(140deg,var(--brand2),var(--brand));color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}
  #tools{display:flex;align-items:center;gap:9px}

  /* Hero */
  .hero{background:radial-gradient(880px 360px at 12% -10%,rgba(29,90,168,.15),transparent 62%),radial-gradient(680px 320px at 92% 0%,rgba(224,123,47,.12),transparent 60%),#fff;border-bottom:1px solid var(--line)}
  .hero-inner{padding:46px 0 38px;display:grid;grid-template-columns:1.4fr .9fr;gap:40px;align-items:center}
  .kicker{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--brand2);background:#eaf1fb;border:1px solid #d6e3f7;padding:5px 12px;border-radius:99px}
  h1{font-size:38px;line-height:1.24;margin:14px 0 12px;letter-spacing:-.5px}
  h1 em{font-style:normal;color:var(--brand2)}
  .lede{font-size:15.5px;color:var(--ink2);max-width:52ch;margin:0 0 24px}
  .hero-actions{display:flex;gap:11px;flex-wrap:wrap}
  .stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:15px 17px;box-shadow:var(--shadow)}
  .stat b{display:block;font-size:25px;color:var(--brand);letter-spacing:-.5px}
  .stat span{font-size:12.5px;color:var(--ink3)}

  /* 区块 */
  section{padding:46px 0;scroll-margin-top:74px}
  section + section{border-top:1px solid var(--line)}
  .sec-head{margin-bottom:22px}
  .sec-title{display:flex;align-items:center;gap:12px}
  .idx{font-size:12px;font-weight:700;color:var(--brand2);background:#eaf1fb;border-radius:8px;padding:5px 9px}
  h2{font-size:24px;margin:0;letter-spacing:-.3px}
  .sec-sub{font-size:14px;color:var(--ink2);margin:6px 0 0;max-width:76ch}
  .subh{display:flex;align-items:baseline;gap:10px;margin:26px 0 13px;font-size:15.5px}
  .subh:first-of-type{margin-top:0}
  .subh span{font-weight:700;letter-spacing:-.2px}
  .subh span::before{content:"";display:inline-block;width:4px;height:14px;border-radius:2px;background:var(--brand2);margin-right:9px;vertical-align:-1px}
  .subh i{font-style:normal;font-size:12.5px;color:var(--ink3);font-weight:400;margin-left:auto;text-align:right}
  .subnote{font-size:12.5px;color:var(--ink3);margin:-6px 0 14px;max-width:100ch}

  /* 卡片 */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
  .cards.ov{grid-template-columns:repeat(auto-fit,minmax(186px,1fr))}
  .cards-empty{grid-column:1 / -1;text-align:center;color:var(--ink3);padding:36px;font-size:14px}
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);
    display:flex;flex-direction:column;position:relative;transition:border-color .15s,box-shadow .15s}
  .card.picked{border-color:var(--brand2);box-shadow:0 0 0 2px rgba(29,90,168,.14)}
  .card .cbx{position:absolute;top:16px;right:16px}
  .card h4{margin:0 0 6px;font-size:15.5px;padding-right:26px}
  .card p{margin:0 0 12px;font-size:13.5px;color:var(--ink2);flex:1;min-height:2.8em;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .card .meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:8px;font-size:12px;color:var(--ink3)}
  .card .meta .city{margin-left:auto;color:var(--ink3)}
  .card .attrs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
  .card .attrs .badge{font-size:11px;padding:2px 7px}
  .price{display:flex;align-items:baseline;gap:9px;border-top:1px dashed var(--line);padding-top:12px}
  .price .now{font-size:19px;font-weight:700;color:var(--accent)}
  .price .was{font-size:13px;color:var(--ink3);text-decoration:line-through}
  .price .lbl{font-size:12px;color:var(--ink3);margin-left:auto}
  .pill{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:99px;background:#eaf1fb;color:var(--brand2);margin-bottom:9px;align-self:flex-start}

  /* 表格 */
  .panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
  .panel-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fbfcfe;flex-wrap:wrap}
  .search{flex:1;min-width:180px;position:relative}
  .search input{width:100%;font:inherit;font-size:14px;padding:9px 12px 9px 32px;border:1px solid #d9e0ea;border-radius:9px;outline:none}
  .search input:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .search::before{content:"⌕";position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--ink3);font-size:16px}
  .panel-bar .hint{font-size:12.5px;color:var(--ink3)}
  .panel-bar .pickall{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink3);cursor:pointer;white-space:nowrap}
  .panel-bar .pickall input{cursor:pointer}
  .tscroll{overflow-x:auto}
  table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:840px}
  th,td{padding:11px 14px;text-align:left;border-bottom:1px solid #eef1f6;white-space:nowrap}
  thead th{background:#fbfcfe;font-size:12.5px;color:var(--ink3);font-weight:600}
  tbody tr:hover{background:#fafbfe}
  tbody tr.picked{background:#f2f7fe}
  tbody tr:last-child td{border-bottom:0}
  th.cb,td.cb{width:44px;padding-right:0}
  td.name{font-weight:600;white-space:normal;min-width:150px}
  td.wrap{white-space:normal;min-width:170px;color:var(--ink2)}
  .money{font-variant-numeric:tabular-nums}
  .money.hl{color:var(--accent);font-weight:700}
  .mask{color:var(--ink3);font-size:12.5px;cursor:pointer;border-bottom:1px dashed #c6d1e0}
  .mask:hover{color:var(--brand2)}
  .badge{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:6px;border:1px solid var(--line);color:var(--ink2);background:#fafbfe}
  .badge.req{color:var(--warn);border-color:#f3ddc9;background:#fdf6ee}
  .badge.ok{color:var(--ok);border-color:#cfe9de;background:#f1faf6}
  .foot-note{padding:11px 16px;font-size:12.5px;color:var(--ink3);background:#fbfcfe;border-top:1px solid var(--line)}
  input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand2);cursor:pointer;vertical-align:-2px}

  /* 流程 */
  .flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
  .step .n{width:24px;height:24px;border-radius:7px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:12.5px;font-weight:700;margin-bottom:10px}
  .step h4{margin:0 0 5px;font-size:14.5px}
  .step p{margin:0;font-size:13px;color:var(--ink2)}

  /* 底部汇总条 */
  .selbar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--line);
    box-shadow:0 -6px 24px rgba(15,27,45,.08);transform:translateY(110%);transition:transform .24s cubic-bezier(.2,.8,.2,1)}
  .selbar.show{transform:translateY(0)}
  .selbar-inner{max-width:1180px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .selbar .sumb{font-size:14px;color:var(--ink2)}
  .selbar .sumb b{font-size:19px;color:var(--accent);letter-spacing:-.3px}
  .selbar .sp{flex:1}
  .selbar .tip{font-size:12px;color:var(--ink3)}

  /* 已选清单 */
  .selpanel{position:fixed;left:0;right:0;bottom:0;z-index:69;background:#fff;border-top:1px solid var(--line);
    border-radius:16px 16px 0 0;box-shadow:0 -14px 40px rgba(15,27,45,.14);max-height:54vh;display:flex;flex-direction:column;
    transform:translateY(110%);transition:transform .26s cubic-bezier(.2,.8,.2,1)}
  .selpanel.open{transform:translateY(0)}
  .selpanel .hd{padding:15px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
  .selpanel .hd h3{margin:0;font-size:15px;flex:1}
  .selpanel .bd{overflow-y:auto;padding:6px 20px 14px}
  .selpanel .ft{padding:14px 20px 18px;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px}
  .selpanel .ft .tr{font-size:13px;color:var(--ink3)}
  .selpanel .ft b{margin-left:auto;font-size:21px;color:var(--accent)}
  .dsec{margin-top:12px}
  .dsec h4{margin:0 0 6px;font-size:12.5px;color:var(--ink3);letter-spacing:.6px;font-weight:600}
  .ditem{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line)}
  .ditem .t{flex:1;font-size:13.5px}
  .ditem .t span{display:block;font-size:12px;color:var(--ink3)}
  .ditem .p{font-size:13.5px;font-weight:600;color:var(--accent);white-space:nowrap}
  .ditem .rm{border:0;background:none;color:var(--ink3);cursor:pointer;font-size:15px}
  .ditem .rm:hover{color:#c0392b}
  .pdate{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--ink3)}
  .pdate input{font-size:12px;padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);width:140px}
  .xbtn{border:0;background:#f2f5f9;width:30px;height:30px;border-radius:9px;cursor:pointer;color:var(--ink2)}
  .scrim{position:fixed;inset:0;background:rgba(12,22,38,.35);z-index:68;opacity:0;pointer-events:none;transition:opacity .24s}
  .scrim.on{opacity:1;pointer-events:auto}

  /* 登录弹窗 */
  .modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:20px;background:rgba(12,22,38,.5)}
  .modal.open{display:grid}
  .dlg{background:#fff;border-radius:18px;width:100%;max-width:400px;box-shadow:0 30px 70px rgba(10,20,35,.3);overflow:hidden;animation:pop .2s ease}
  @keyframes pop{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
  .dlg-hd{padding:22px 24px 0}
  .dlg-hd h3{margin:0 0 5px;font-size:19px}
  .dlg-hd p{margin:0;font-size:13.5px;color:var(--ink2)}
  .dlg-bd{padding:18px 24px}
  .field{margin-bottom:13px}
  .field label{display:block;font-size:12.5px;color:var(--ink2);margin-bottom:6px;font-weight:600}
  .field input{width:100%;font:inherit;font-size:14px;padding:11px 13px;border:1px solid #d9e0ea;border-radius:10px;outline:none}
  .field input:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .err{font-size:12.5px;color:#c0392b;min-height:18px;margin-bottom:6px}
  .demoacct{padding:11px 13px;background:#f7f9fc;border:1px dashed #d6e0ec;border-radius:11px;font-size:12.5px;color:var(--ink2);line-height:1.8}
  .demoacct code{background:#fff;border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:12px}
  .demoacct button{border:0;background:#eaf1fb;color:var(--brand2);font-size:11.5px;font-weight:600;border-radius:6px;padding:2px 8px;margin-left:6px;cursor:pointer}
  .dlg-ft{padding:0 24px 22px;display:grid;gap:9px}

  /* 分销管理 */
  .mempane{border:1px solid var(--line);border-radius:13px;padding:14px 15px;margin-bottom:13px;background:#fbfcfe}
  .mempane>h4{margin:0 0 4px;font-size:14px}
  .mempane>p{margin:0 0 11px;font-size:12.5px;color:var(--ink3);line-height:1.7}
  .mem-mini{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
  .batcharea{width:100%;min-height:74px;border:1px solid #d9e0ea;border-radius:10px;padding:9px 11px;font:inherit;font-size:13px;resize:vertical;outline:none}
  .batcharea:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .memlist{border:1px solid var(--line);border-radius:12px;max-height:270px;overflow-y:auto}
  .memrow{display:flex;align-items:center;gap:10px;padding:9px 13px;border-bottom:1px solid var(--line);font-size:13px}
  .memrow:last-child{border-bottom:0}
  .memrow.off{background:#fafbfd;opacity:.7}
  .memrow .ph{font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.3px;white-space:nowrap}
  .memrow .nm{color:var(--ink2);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .memrow .sp{flex:1}
  .memacts{display:flex;gap:6px;flex-shrink:0}
  .minibtn{border:1px solid var(--line);background:#fff;color:var(--ink2);border-radius:7px;padding:3px 9px;font-size:12px;cursor:pointer;white-space:nowrap}
  .minibtn:hover{border-color:var(--brand2);color:var(--brand2)}
  .minibtn.danger:hover{border-color:#c0392b;color:#c0392b}
  .stbadge{font-size:11px;font-weight:600;border-radius:99px;padding:2px 8px;flex-shrink:0}
  .stbadge.on{background:#e8f5ec;color:#1e7d43}
  .stbadge.off{background:#f2f4f7;color:#8b95a7}
  .frm-tip.ok{color:var(--ok)}
  .memrow select.mbrand{font:inherit;font-size:12px;padding:4px 6px;border:1px solid #d9e0ea;border-radius:7px;background:#fff;color:var(--ink);outline:none;cursor:pointer;flex-shrink:0}
  .memrow input.msales{font:inherit;font-size:12px;width:90px;padding:4px 8px;border:1px solid #d9e0ea;border-radius:7px;outline:none;flex-shrink:0}
  .memrow select.mbrand:focus,.memrow input.msales:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .memrow input.msales::placeholder{color:#b6bfcd}
  .memrow .nobrand{font-size:12px;color:#b6bfcd;flex-shrink:0}
  @media (max-width:720px){ .mem-mini{grid-template-columns:1fr} .memrow{flex-wrap:wrap} }

  /* 筛选与录入 */
  .panel-bar select{font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid #d9e0ea;border-radius:9px;background:#fff;color:var(--ink);outline:none;cursor:pointer;max-width:170px}
  .panel-bar select:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .filterbar{display:flex;align-items:center;gap:11px;padding:11px 14px;margin:0 0 16px;
    border:1px solid var(--line);border-radius:12px;background:#fbfcfe;flex-wrap:wrap}
  .filterbar .hint{font-size:12.5px;color:var(--ink3)}
  .filterbar select{font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid #d9e0ea;
    border-radius:9px;background:#fff;color:var(--ink);outline:none;cursor:pointer;max-width:190px}
  .filterbar select:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .filterbar .fd{font-size:12.5px;color:var(--ink3);margin-left:auto}
  .catlist{display:flex;flex-wrap:wrap;gap:7px}
  .catlist .c{font-size:12.5px;border:1px solid #d9e0ea;background:#fff;border-radius:8px;padding:5px 10px;cursor:pointer;user-select:none;display:inline-flex;align-items:center;gap:6px;color:var(--ink2)}
  .catlist .c:hover{border-color:#b9c8dc}
  .catlist .c.on{border-color:var(--brand2);background:#eaf1fb;color:var(--brand2);font-weight:600}
  .catlist .c .x{font-size:11px;color:var(--ink3);font-style:normal;font-weight:400;padding:0 1px}
  .catlist .c .x:hover{color:#c0392b}
  .catmgr{margin-top:9px;display:flex;gap:8px}
  /* 分组勾选（地区按泰国大区分组） */
  .grprow{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}
  .grprow .grplb{flex:0 0 76px;font-size:12.5px;font-weight:600;color:var(--ink2);line-height:26px}
  .grprow .grpchips{flex:1;display:flex;flex-wrap:wrap;gap:7px}
  .catmgr input{flex:1;font:inherit;font-size:13px;padding:8px 10px;border:1px solid #d9e0ea;border-radius:9px;outline:none}
  .catmgr input:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .frm-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  .grp{margin-bottom:15px}
  .grp>label.gl{display:block;font-size:12.5px;color:var(--ink2);margin-bottom:7px;font-weight:600}
  .grp>label.gl .tip{font-weight:400;color:var(--ink3)}
  .grp input[type=text],.grp input[type=number],.grp input:not([type]){width:100%;font:inherit;font-size:14px;padding:10px 12px;border:1px solid #d9e0ea;border-radius:10px;outline:none}
  .grp input:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .grp select{width:100%;font:inherit;font-size:14px;padding:10px 12px;border:1px solid #d9e0ea;border-radius:10px;background:#fff;color:var(--ink);outline:none;cursor:pointer}
  .grp select:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .grp .inline{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink2);padding:10px 0}
  .bdg{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:6px;border:1px solid #d9e0ea;background:#fafbfe;color:var(--ink2);margin-right:4px}
  .bdg.region{border-color:#d6e3f7;background:#eaf1fb;color:var(--brand2)}

  /* 品牌（双品牌：分销账号绑品牌，登录后页头切换） */
  .bchip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;border-radius:99px;
    padding:2px 9px 2px 3px;border:1px solid #d9e0ea;background:#fff;color:var(--ink2);white-space:nowrap;flex-shrink:0}
  .bchip .bm{width:16px;height:16px;border-radius:5px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff}
  .bswrap{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink3);margin-right:6px}
  .bswrap select{font:inherit;font-size:12.5px;padding:6px 8px;border:1px solid #d9e0ea;border-radius:8px;background:#fff;color:var(--ink);outline:none;cursor:pointer}
  .bswrap select:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .bcard{border:1px solid var(--line);border-radius:13px;padding:14px 15px;background:#fbfcfe;margin-bottom:13px}
  .bcard>h4{margin:0 0 4px;font-size:14px;display:flex;align-items:center;gap:8px}
  .bcard>p{margin:0 0 11px;font-size:12.5px;color:var(--ink3);line-height:1.7}
  .bgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
  .bgrid .grp{margin-bottom:11px}
  .bgrid input[type=color]{width:100%;height:40px;padding:2px;border:1px solid #d9e0ea;border-radius:10px;background:#fff;cursor:pointer}
  .bprev{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:11px;border:1px dashed #d9e0ea;background:#fff;margin-bottom:12px}
  .bprev .mk{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;font-size:14px;font-weight:700}
  .bprev b{display:block;font-size:13.5px}
  .bprev small{font-size:11px;color:var(--ink3);letter-spacing:1.2px}
  @media (max-width:720px){ .bgrid{grid-template-columns:1fr} }
  .delrow{border:0;background:none;color:#c3ccd9;cursor:pointer;font-size:15px;line-height:1}
  .delrow:hover{color:#c0392b}
  .frm-tip{font-size:12.5px;color:var(--warn);min-height:17px;margin:-4px 0 8px}
  .tabs{display:flex;gap:6px;padding:14px 24px 0;flex-wrap:wrap}
  .tabs button{border:1px solid #d9e0ea;background:#fff;color:var(--ink2);font:inherit;font-size:13px;font-weight:600;padding:7px 14px;border-radius:9px;cursor:pointer}
  .tabs button:hover{border-color:#b9c8dc}
  .tabs button.on{background:var(--brand);border-color:var(--brand);color:#fff}
  .exlist{display:grid;gap:9px;padding:4px 24px 0}
  .exrow{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
  .exrow>div{flex:1}
  .exrow b{font-size:13.5px;display:block}
  .exrow span{font-size:12.5px;color:var(--ink3)}
  .exstat{display:flex;flex-wrap:wrap;gap:7px;padding:0 24px}
  .exstat i{font-style:normal;font-size:12.5px;color:var(--ink2);background:#f2f5f9;border-radius:8px;padding:4px 10px}
  @media (max-width:720px){ .frm-grid{grid-template-columns:1fr} }

  /* 车辆详情 */
  .modal.open{display:grid;overflow-y:auto}
  .dlg.wide{max-width:800px;align-self:start}
  .vd-hd{display:flex;align-items:flex-start;gap:12px;padding:22px 24px 0}
  .vd-hd h3{margin:0 0 5px;font-size:19px}
  .vd-hd p{margin:0;font-size:13px;color:var(--ink2)}
  .vd-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:20px;padding:16px 24px 0}
  .vphoto{border:1px solid var(--line);border-radius:12px;background:#f7f9fc;overflow:hidden;position:relative;align-self:start}
  .vphoto svg,.vphoto img{display:block;width:100%;height:auto}
  .vphoto .tag{position:absolute;left:10px;bottom:9px;font-size:11.5px;color:var(--ink3);background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:7px;padding:2px 8px}
  .spec{margin:0;display:grid;grid-template-columns:74px 1fr;gap:9px 12px;font-size:13.5px;align-content:start}
  .spec dt{color:var(--ink3);font-size:12.5px}
  .spec dd{margin:0;color:var(--ink)}
  .vd-note{margin:14px 24px 0;padding:11px 13px;background:#f7f9fc;border:1px dashed #d6e0ec;border-radius:11px;font-size:12.5px;color:var(--ink2);line-height:1.7}
  .vd-ft{padding:16px 24px 22px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
  .vd-ft .sp{flex:1}
  .vd-price{font-size:13px;color:var(--ink3)}
  .vd-price b{font-size:20px;color:var(--accent);letter-spacing:-.3px}
  .vd-dq{font-size:11px;font-weight:600;color:#b8860b;background:#fff7e6;border:1px solid #ffe1a8;border-radius:999px;padding:3px 9px;white-space:nowrap}
  .vd-dqnote{flex-basis:100%;font-size:12px;color:#a06a00;background:#fffaf0;border:1px dashed #ffd591;border-radius:8px;padding:7px 10px;margin-top:2px}
  .dqtag{display:inline-block;font-size:11px;color:#b8860b;background:#fff7e6;border:1px solid #ffe1a8;border-radius:999px;padding:1px 7px;margin-top:3px}
  .vd-date{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--ink3)}
  .vd-date input{font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);width:160px}
  /* 出行日期先行选择条 */
  .vd-datebar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;background:linear-gradient(180deg,#f5f9ff,#eef4ff);border:1px solid #d7e4ff;border-radius:12px;padding:12px 14px;margin:14px 0 4px}
  .vd-datebar.req{background:linear-gradient(180deg,#fff6ef,#ffeede);border-color:#ffd9b0}
  .vd-step{display:flex;align-items:center;gap:8px}
  .vd-step-n{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:700}
  .vd-datebar.req .vd-step-n{background:#e8852b}
  .vd-step-t{font-size:14px;font-weight:700;color:var(--ink)}
  .vd-datebar .vd-date{flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--ink)}
  .vd-datebar .vd-date input{width:170px}
  .vd-hint{font-size:12px;color:#b06a00;background:#fff4e2;border:1px dashed #ffce8f;border-radius:8px;padding:5px 10px}
  .vd-hint.ok{color:#1f8a4c;background:#eafaf0;border-color:#b6e8c8}
  /* 套餐锁定（未选日期） */
  .pkgwrap.locked .pkglist{opacity:.55;filter:grayscale(.2)}
  .pkgwrap.locked .pkg.nopt{cursor:not-allowed}
  .pkg-lock{font-size:13px;color:#9a6a00;background:#fff7e8;border:1px dashed #ffd591;border-radius:10px;padding:10px 14px;margin-bottom:10px}
  button[disabled]{opacity:.5;cursor:not-allowed}
  .vd-flash{position:fixed;left:50%;bottom:42px;transform:translate(-50%,16px);background:rgba(28,32,42,.94);color:#fff;font-size:13.5px;padding:11px 18px;border-radius:10px;z-index:9999;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;box-shadow:0 8px 28px rgba(0,0,0,.25)}
  .vd-flash.show{opacity:1;transform:translate(-50%,0)}
  .thumb{width:58px;height:35px;border-radius:8px;background:#f7f9fc;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;flex:none}
  .thumb svg{width:100%;height:auto;display:block}
  .vcell{display:flex;align-items:center;gap:10px}
  .rowview{border:1px solid #cfd9e6;background:#fff;color:var(--brand2);border-radius:8px;padding:4px 11px;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}
  .rowview:hover{background:#eef2f8}
  /* 套餐 */
  .pkgwrap{margin:16px 24px 0}
  .pkghd{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}
  .pkghd b{font-size:14.5px}
  .pkghd span{font-size:12.5px;color:var(--ink3)}
  .pkglist{display:grid;gap:8px}
  .pkg{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;
    cursor:pointer;background:#fff;transition:border-color .15s,background .15s,box-shadow .15s}
  .pkg:hover{border-color:#b9c8dc;background:#fbfcfe}
  .pkg.on{border-color:var(--brand2);background:#f2f7fe;box-shadow:0 0 0 2px rgba(29,90,168,.12)}
  .pkg .rk{width:17px;height:17px;border-radius:50%;border:2px solid #c6d1e0;flex:none;position:relative;box-sizing:border-box}
  .pkg.on .rk{border-color:var(--brand2)}
  .pkg.on .rk::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--brand2)}
  .pkg .nm{flex:1;font-size:13.5px;font-weight:600;line-height:1.45}
  .pkg .nm i{display:block;font-style:normal;font-weight:400;font-size:12px;color:var(--ink3);margin-top:2px}
  .pkg .pc{text-align:right;white-space:nowrap;font-size:12px;color:var(--ink3)}
  .pkg .pc b{display:block;color:var(--accent);font-size:15.5px;letter-spacing:-.2px}
  .pkg .pc s{display:block;font-size:11.5px;color:var(--ink3);text-decoration:line-through}
  .pkgchip{display:inline-block;font-size:11px;font-weight:600;color:var(--brand2);background:#eaf1fb;border:1px solid #d6e3f7;
    border-radius:6px;padding:0 6px;margin-left:7px;vertical-align:1px;white-space:nowrap}
  .pkgrow{display:grid;grid-template-columns:1.25fr .8fr .8fr 1.5fr 26px;gap:8px;margin-bottom:8px;align-items:center}
  .pkgrow.no3{grid-template-columns:1.35fr .95fr 1.75fr 26px}
  .pkgrow input{width:100%;font:inherit;font-size:13px;padding:9px 11px;border:1px solid #d9e0ea;border-radius:9px;outline:none;min-width:0}
  .pkgrow input:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .pkgrow .delrow{font-size:16px}
  .card[data-prodrow],.card[data-prod]{cursor:pointer}
  @media (max-width:760px){
    .vd-grid{grid-template-columns:1fr;gap:16px}
    .dlg.wide{max-width:540px}
    .pkgrow{grid-template-columns:1fr 1fr;grid-auto-rows:auto}
    .pkgrow .delrow{grid-column:2;justify-self:end}
  }

  footer{padding:26px 0 20px;font-size:12.5px;color:var(--ink3);text-align:center}

  @media (max-width:960px){
    .hero-inner{grid-template-columns:1fr;gap:28px;padding:36px 0 30px}
    h1{font-size:30px}
    .cards{grid-template-columns:1fr 1fr}
    .flow{grid-template-columns:1fr 1fr}
    .navlinks{display:none}
  }
  @media (max-width:620px){
    .cards,.flow,.stats{grid-template-columns:1fr}
    h1{font-size:26px}
  }

  /* 云端状态与提示 */
  .cloudstat{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink2);
    background:#eef3fa;border:1px solid #dbe3ee;border-radius:999px;padding:5px 11px;white-space:nowrap}
  .cloudstat b{font-weight:600}
  .cloudstat .dot{width:7px;height:7px;border-radius:50%;background:#9aa7b8;flex:none}
  .cloudstat.on .dot{background:#18a058}
  .cloudstat.warn{background:#fdf5e6;border-color:#f2e0bd;color:#8a5a12}
  .cloudstat.warn .dot{background:#d99a2b}
  @media (max-width:960px){ .cloudstat{display:none} }

  .toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%) translateY(14px);z-index:80;
    background:#1f2a3a;color:#fff;font-size:13.5px;line-height:1.5;padding:11px 18px;border-radius:11px;
    box-shadow:0 12px 30px rgba(15,25,45,.28);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:88vw;text-align:center}
  .toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
  .toast.err{background:#8f2229}
  .toast.ok{background:#186b3d}
  /* ========== 产品详情扩展（图文 / 包含不含 / 须知 / 退改） ========== */
  .dt{margin:18px 0 4px;border-top:1px dashed var(--line);padding-top:14px}
  .dt-sec{margin-bottom:16px}
  .dt-h{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);font-size:15px;margin-bottom:9px}
  .dt-ic{font-size:16px;line-height:1}
  .dt-body{color:var(--ink2);font-size:13.5px;line-height:1.8}
  .dt-intro{margin-bottom:10px}
  .dt-gallery{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
  .dt-gallery img{width:120px;height:84px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
  .dt-hi{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
  .dt-list{margin:0;padding-left:18px}
  .dt-list li{margin:3px 0}
  .dt-line{margin:6px 0}

  /* ========== 录入：地区下拉 ========== */
  .region-sel{width:100%;max-width:520px;font:inherit;font-size:14px;padding:9px 11px;border:1px solid #d9e0ea;border-radius:9px;background:#fff;outline:none;margin-bottom:9px}
  .region-sel:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}

  /* ========== 列表小图 ========== */
  .rowthumb{width:46px;height:46px;object-fit:cover;border-radius:9px;border:1px solid var(--line);flex-shrink:0;background:#f3f6fa;display:inline-block;vertical-align:middle;margin-right:9px}
  .rowthumb img{width:100%;height:100%;object-fit:cover;border-radius:9px;display:block}
  .rowthumb.ph{display:grid;place-items:center;font-size:22px;text-align:center;line-height:1}
  .vcell .thumb img{width:44px;height:44px;object-fit:cover;border-radius:9px;border:1px solid var(--line);background:#f3f6fa;display:block}
  .vcell{display:flex;align-items:center;gap:10px}
  .vcell .thumb{width:44px;height:44px;flex-shrink:0}
  .vcell .thumb svg{width:44px;height:44px;border-radius:9px;border:1px solid var(--line);background:#f3f6fa}
  .card .cthumb{position:relative;width:100%;height:140px;border-radius:12px 12px 0 0;margin:-18px -18px 14px;background:#f3f6fa;overflow:hidden;display:block}
  .card .cthumb img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
  .card .cthumb.ph{height:96px;display:grid;place-items:center;font-size:30px}
  .card.picked .cthumb{box-shadow:none}

  /* ========== 录入：产品详情块 ========== */
  .detail-block{margin-top:4px;border-top:1px dashed var(--line);padding-top:14px}
  .detail-block > .gl{font-weight:700;color:var(--ink)}
  .frm-grid textarea{width:100%;font:inherit;font-size:14px;padding:9px 11px;border:1px solid #d9e0ea;border-radius:9px;outline:none;resize:vertical;line-height:1.6}
  .frm-grid textarea:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .editbtn{display:inline-flex;align-items:center;gap:4px}

  /* ========== 移动端全局适配 ========== */
  @media (max-width:960px){
    /* 修复：平板/手机不再隐藏顶部导航，改为横向滚动，确保各板块可访问 */
    .navlinks{display:flex;margin:0 -22px;padding:0 22px}
    .topbar-inner{gap:12px;height:56px}
    .brand small{display:none}
    #tools .btn{padding:7px 12px;font-size:13px}
    .userchip{font-size:12px;padding:3px 8px 3px 3px}
  }
  @media (max-width:760px){
    .cards{grid-template-columns:1fr 1fr}
    .modal{padding:12px}
    .dlg{max-width:94vw}
    .dlg.wide{max-width:94vw}
    .selpanel{max-height:82vh}
    .hero-inner{grid-template-columns:1fr;gap:24px;padding:30px 0 26px}
    h1{font-size:27px}
    .stats{grid-template-columns:1fr 1fr}
  }
  @media (max-width:520px){
    .cards{grid-template-columns:1fr}
    .stats{grid-template-columns:1fr}
    .topbar-inner{gap:8px}
    .brand{font-size:14px}
    .btn{padding:8px 12px;font-size:13px}
    #tools{gap:6px}
    .panel-bar{gap:8px;padding:10px 12px}
    .search{min-width:120px}
    h2{font-size:21px}
    .dlg-hd,.dlg-bd,.dlg-ft{padding-left:18px;padding-right:18px}
    .selpanel .hd,.selpanel .bd,.selpanel .ft{padding-left:16px;padding-right:16px}
    /* 订单弹窗在手机上更易用：页脚按钮换行、避免挤压 */
    .dlg-ft{flex-wrap:wrap;gap:8px}
    .dlg-ft .btn{flex:1 1 auto}
    .oitem .top{flex-wrap:wrap}
    .odlg .row .sm{width:auto;text-align:right}
  }

  /* ========== 订单系统 ========== */
  .otabs{display:flex;gap:8px;margin:2px 0 12px;flex-wrap:wrap}
  .otab{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink2);font-size:13px;cursor:pointer;transition:.12s}
  .otab:hover{border-color:var(--brand2)}
  .otab.on{background:var(--brand2);border-color:var(--brand2);color:#fff;font-weight:600}
  .otab .cnt{margin-left:6px;opacity:.85}
  .olist{display:flex;flex-direction:column;gap:10px;max-height:62vh;overflow:auto;padding:2px}
  .oitem{border:1px solid var(--line);border-radius:12px;padding:13px 16px;background:#fff;cursor:pointer;transition:.15s}
  .oitem:hover{border-color:var(--brand2);box-shadow:0 4px 14px rgba(20,60,120,.08)}
  .oitem .top{display:flex;align-items:center;gap:10px;margin-bottom:4px}
  .oitem .oid{font-weight:700;color:var(--ink);font-size:14px}
  .oitem .obadge{margin-left:auto}
  .oitem .sub{color:var(--ink3);font-size:12.5px}
  .oitem .meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--ink3);font-size:12.5px;margin-top:7px}
  .oitem .meta b{color:var(--ink2);font-weight:600}
  .obadge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}
  .obadge.pending{background:#fff4e0;color:#b9770a;border:1px solid #f2d9a8}
  .obadge.ready{background:#e6f6ec;color:#1f8a4c;border:1px solid #b6e3c7}
  .obadge .dot{width:7px;height:7px;border-radius:50%;background:currentColor}
  .odlg .gh{font-weight:700;color:var(--ink);font-size:15px;margin:0 0 4px}
  .odlg .rows{display:flex;flex-direction:column;gap:8px;margin:10px 0}
  .odlg .row{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;gap:10px;align-items:flex-start}
  .odlg .row .nm{flex:1;min-width:0}
  .odlg .row .nm b{display:block;font-size:13.5px}
  .odlg .row .nm span{color:var(--ink3);font-size:12px}
  .odlg .row .q{display:flex;align-items:center;gap:6px}
  .odlg .row .q input{width:54px;text-align:center;padding:5px;border:1px solid #d9e0ea;border-radius:8px;font:inherit}
  .odlg .row .q button{width:26px;height:26px;border:1px solid #d9e0ea;border-radius:8px;background:#f4f7fb;cursor:pointer;font-size:15px;line-height:1}
  .odlg .row .q button:hover{background:#e6eefa}
  .odlg .row .sm{width:92px;text-align:right;font-weight:700;color:var(--accent);white-space:nowrap}
  .ofield{margin:10px 0}
  .ofield label{display:block;font-size:13px;color:var(--ink2);margin-bottom:5px;font-weight:600}
  .ofield .req{color:#d23}
  .ofield input,.ofield textarea{width:100%;font:inherit;font-size:14px;padding:9px 11px;border:1px solid #d9e0ea;border-radius:9px;outline:none;box-sizing:border-box}
  .ofield input:focus,.ofield textarea:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,90,168,.12)}
  .odate{color:var(--ink3);font-size:12px}
  .vouch{background:#f6f9fd;border:1px dashed var(--brand2);border-radius:10px;padding:12px 14px;margin-top:12px}
  .vouch h4{margin:0 0 8px;font-size:13px;color:var(--brand2)}
  .vouch .vline{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;padding:6px 0;border-bottom:1px solid #e3ecf6;word-break:break-all}
  .vouch .vline:last-child{border-bottom:0}
  .vnote{margin-top:8px;font-size:13px;color:var(--ink2);line-height:1.7;white-space:pre-wrap}
  .procform{margin-top:14px;border-top:1px dashed var(--line);padding-top:14px}
  .empty{text-align:center;color:#8b95a7;padding:40px 10px;font-size:14px}
  .selpanel .ft .btn.accent{margin-left:4px}

  /* ========== 多页结构：面包屑 / 导航当前项 ========== */
  .crumbbar{background:#fff;border-bottom:1px solid var(--line)}
  .crumbbar .wrap{display:flex;align-items:center;gap:10px;padding:11px 0;font-size:13px;
    color:var(--ink3);flex-wrap:wrap}
  .crumbbar a{color:var(--brand2);font-weight:600}
  .crumbbar a:hover{text-decoration:underline}
  .crumbbar .here{color:var(--ink);font-weight:700}
  .crumbbar .sp{flex:1}
  .crumbbar .sw{color:var(--ink3)}
  .crumbbar .sw a{font-weight:500}
  .navlinks a.on{background:#eaf1fb;color:var(--brand2);font-weight:600}
  .navlinks a.on:hover{background:#e2ecfa}
