/* ========================================================================
   VIRE 海外 B2B 独立站 · 样式：基础层 (base.css)
   ------------------------------------------------------------------------
   重置样式、模式条、通用组件：按钮 / 标签 / 卡片 / 表格 / 开关 / 表单 / Toast。
   来源：《VIRE_前后台打通Demo.html》样式层按内容锚点切分，规则零改写。
   ======================================================================== */

*{box-sizing:border-box;margin:0;}
  body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Segoe UI",Roboto,sans-serif;font-size:14.5px;line-height:1.6;}
  a{color:inherit;text-decoration:none;} button{font-family:inherit;}
  .mode-bar{background:#0c1220;color:#fff;display:flex;align-items:center;gap:14px;padding:9px 20px;font-size:13px;position:sticky;top:0;z-index:100;flex-wrap:wrap;}
  .mode-bar .ttl{font-weight:800;letter-spacing:.3px;display:flex;align-items:center;gap:8px;}
  .mode-bar .ttl i{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,#0b5fff,#4b8bff);display:flex;align-items:center;justify-content:center;font-size:11px;font-style:normal;}
  .mbtn{padding:6px 16px;border-radius:8px;font-weight:700;cursor:pointer;border:1.5px solid rgba(255,255,255,.2);background:transparent;color:#aab4c6;font-size:12.5px;}
  .mbtn.on{background:var(--accent);border-color:var(--accent);color:#fff;}
  .sync-dot{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:12px;color:#7fe3b1;}
  .sync-dot i{width:8px;height:8px;border-radius:50%;background:#2fd683;animation:pulse 1.6s infinite;}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
  .hint{font-size:12px;color:#8b96a8;}
  .btn{display:inline-block;padding:8px 18px;border-radius:8px;font-weight:700;font-size:13px;border:none;cursor:pointer;}
  .btn-blue{background:var(--accent);color:#fff;} .btn-dark{background:var(--ink);color:#fff;}
  .btn-ghost{border:1.5px solid var(--line);color:var(--ink2);background:#fff;}
  .btn-green{background:var(--green);color:#fff;} .btn-wa{background:#1faa53;color:#fff;}
  .btn-sm{padding:5px 11px;font-size:12px;} .btn-lg{padding:11px 24px;font-size:14px;}
  .tag{display:inline-block;font-size:11px;font-weight:800;padding:2px 9px;border-radius:6px;background:#f0f2f6;color:var(--muted);}
  .tag.blue{background:var(--accent-soft);color:var(--accent);} .tag.green{background:var(--green-soft);color:var(--green);}
  .tag.amber{background:var(--amber-soft);color:var(--amber);} .tag.red{background:var(--red-soft);color:var(--red);}
  .tag-edit{display:inline-block;width:96px;border:1px dashed transparent;background:var(--amber-soft);color:var(--amber);font-family:inherit;font-size:11px;font-weight:800;padding:2px 9px;border-radius:6px;text-align:center;outline:none;cursor:text;vertical-align:middle;}
  .tag-edit:hover{border-color:var(--amber);} .tag-edit:focus{border-color:var(--amber);background:#fff;}
  .muted{color:var(--muted);} .small{font-size:12px;} .xs{font-size:11px;}
  .card{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:18px 20px;}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;} .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;} .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  label.f{display:block;font-size:12px;font-weight:700;margin:11px 0 5px;color:var(--ink2);}
  input[type=text],input[type=number],input[type=email],select,textarea{border:1.5px solid var(--line);border-radius:8px;padding:8px 11px;font-size:13px;font-family:inherit;width:100%;background:#fff;color:var(--ink);}
  table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;}
  th,td{padding:10px 12px;text-align:left;border-bottom:1px solid #eef1f6;vertical-align:middle;}
  thead th{background:#f8fafc;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;}
  tbody tr:hover{background:#fafbfd;}
  .tbl-card{border:1.5px solid var(--line);border-radius:12px;overflow:hidden;overflow-x:auto;}
  .payload{background:#0f1722;color:#c9d7ee;border-radius:10px;padding:12px 14px;font-size:11px;line-height:1.6;overflow-x:auto;font-family:"SF Mono",Menlo,Consolas,monospace;white-space:pre;}
  .switch{position:relative;width:36px;height:20px;border-radius:99px;background:#c6cdd8;cursor:pointer;transition:.2s;flex-shrink:0;display:inline-block;}
  .switch.on{background:var(--green);}
  .switch::after{content:"";position:absolute;top:2.5px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;transition:.2s;}
  .switch.on::after{left:18px;}
  .badge{display:inline-flex;align-items:center;gap:6px;background:var(--green-soft);color:var(--green);font-weight:800;font-size:12px;padding:4px 11px;border-radius:8px;}
  #toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 22px;border-radius:99px;font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:.3s;z-index:200;max-width:90vw;text-align:center;}
  #toast.show{opacity:1;}
