/* ========================================
   CodeMatch Freight - 全球货代货主撮合平台
   主样式表 v7 — 品牌视觉升级
   ======================================== */

/* === Design Tokens — 海洋 × 物流行业配色 === */
:root {
  /* ── 主色调：深海蓝 ── */
  --md-primary: #0D3B66;
  --md-primary-light: #1A5C99;
  --md-primary-dark: #072440;
  --md-on-primary: #FFFFFF;
  --md-primary-container: #D6EBFF;
  --md-on-primary-container: #001E3C;

  /* ── 辅色调：温暖珊瑚橙（CTA、活动状态）── */
  --md-secondary: #C84B31;
  --md-on-secondary: #FFFFFF;
  --md-secondary-container: #FFE8E0;
  --md-on-secondary-container: #5C1A0A;

  /* ── 第三色：青碧（物流、链接）── */
  --md-tertiary: #0E7C6B;
  --md-tertiary-container: #D4F5EC;

  /* ── 表面色 ── */
  --md-surface: #FFFFFF;
  --md-surface-dim: #F6F8FA;
  --md-surface-bright: #FFFFFF;
  --md-surface-container-low: #F0F3F7;
  --md-surface-container: #E9EDF3;
  --md-surface-container-high: #E2E7EE;
  --md-on-surface: #12161C;
  --md-on-surface-variant: #3E4550;
  --md-on-surface-muted: #69717C;

  /* ── 描边 ── */
  --md-outline: #6E7580;
  --md-outline-variant: #BCC2CC;
  --md-outline-subtle: #DCE1E8;

  /* ── 语义色 ── */
  --md-error: #C62828;
  --md-error-container: #FFEAEA;
  --md-on-error-container: #5F0000;
  --md-success: #1B7A2D;
  --md-success-container: #D9F2DD;
  --md-warning: #A05A00;
  --md-warning-container: #FFF3E0;

  /* ── 阴影（更具空间感）── */
  --md-elevation-1: 0 1px 3px rgba(13,59,102,.04), 0 1px 2px rgba(13,59,102,.03);
  --md-elevation-2: 0 2px 8px rgba(13,59,102,.06), 0 4px 6px rgba(13,59,102,.03);
  --md-elevation-3: 0 4px 14px rgba(13,59,102,.07), 0 6px 10px rgba(13,59,102,.04);
  --md-elevation-4: 0 6px 20px rgba(13,59,102,.08), 0 10px 16px rgba(13,59,102,.04);
  --md-elevation-5: 0 10px 32px rgba(13,59,102,.1), 0 16px 24px rgba(13,59,102,.06);

  /* ── 圆角（更柔和）── */
  --md-shape-xs: 4px;
  --md-shape-sm: 6px;
  --md-shape-md: 10px;
  --md-shape-lg: 14px;
  --md-shape-xl: 18px;
  --md-shape-2xl: 24px;
  --md-shape-full: 9999px;

  --max-width: 1200px;

  /* ── 过渡 ── */
  --md-duration-short: 150ms;
  --md-duration-medium: 250ms;
  --md-duration-long: 350ms;
  --md-easing-standard: cubic-bezier(.4,0,.2,1);
  --md-easing-emphasized: cubic-bezier(.05,.7,.1,1);

  /* ── 品牌渐变色板 ── */
  --brand-gradient: linear-gradient(135deg, #0D3B66, #1A5C99);
  --brand-gradient-warm: linear-gradient(135deg, #0D3B66, #C84B31);
  --brand-gradient-cool: linear-gradient(135deg, #0D3B66, #0E7C6B);
  --hero-gradient: linear-gradient(160deg, #081C30 0%, #0D3B66 35%, #0F2D4E 70%, #072440 100%);

  /* ── 微妙的装饰元素 ── */
  --deco-dot-pattern: radial-gradient(circle, rgba(13,59,102,.04) 1px, transparent 1px);

  /* ── UE 人性化动画 ── */
  --ue-breathe: ueBreathe 3s ease-in-out infinite;
  --ue-float: ueFloat 4s ease-in-out infinite;
  --ue-shimmer: ueShimmer 2s linear infinite;

  /* ── 有机圆角（非对称、更自然）── */
  --ue-organic-xs: 4px 12px 8px 6px;
  --ue-organic-sm: 6px 18px 10px 8px;
  --ue-organic-md: 8px 24px 14px 10px;

  /* ── 品牌渐变扩展 ── */
  --brand-gradient-subtle: linear-gradient(135deg, rgba(13,59,102,.04), rgba(14,124,107,.03));
  --brand-gradient-highlight: linear-gradient(135deg, rgba(200,75,49,.08), rgba(13,59,102,.05));
}

/* === RESET === */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
body{
  font-family:"PingFang SC","Microsoft YaHei","SimHei",sans-serif;
  font-size:14px;
  line-height:1.6;
  color:var(--md-on-surface);
  background:var(--md-surface-dim);
  background-image:
    var(--deco-dot-pattern),
    radial-gradient(ellipse 80% 50% at 50% -20%, rgba(13,59,102,.03) 0%, transparent 60%);
  background-size: 20px 20px, 100% 100%;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

/* Material Symbols */
.material-symbols-outlined{
  font-variation-settings:'FILL'0,'wght'300,'GRAD'0,'opsz'24;
  font-size:20px;line-height:1;vertical-align:middle;display:inline-block;
}

a{color:var(--md-on-surface-variant);text-decoration:none;transition:color var(--md-duration-short) var(--md-easing-standard)}
a:hover{color:var(--md-primary-light);text-decoration:none}
img{max-width:100%;height:auto}

/* === Container === */
.container{max-width:var(--max-width);margin:0 auto;padding:0 clamp(16px,3vw,24px)}

/* ========================================
   HEADER — 品牌顶栏
   ======================================== */
.header{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  position:sticky;top:0;z-index:999;
  border-bottom:1px solid var(--md-outline-subtle);
  transition:all var(--md-duration-short) var(--md-easing-standard);
}
.header.scrolled{
  box-shadow:0 1px 6px rgba(13,59,102,.06);
  border-bottom-color:transparent;
}

.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:56px;gap:16px;
}
@media(min-width:600px){.header-inner{height:64px}}

/* Logo */
.logo{
  display:flex;align-items:center;gap:10px;
  font-size:18px;font-weight:600;
  color:var(--md-on-surface);white-space:nowrap;
  letter-spacing:-0.2px;
}
.logo i{
  color:var(--md-primary);
  font-size:20px;
  width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;
  background:var(--md-primary-container);
  border-radius:var(--md-shape-sm);
}
.logo:hover{color:var(--md-on-surface);opacity:.85}

/* Nav */
.nav{display:flex;align-items:center;gap:2px}
.nav-link{
  display:flex;align-items:center;gap:6px;
  padding:7px 14px;border-radius:var(--md-shape-sm);
  color:var(--md-on-surface-variant);
  font-size:13.5px;font-weight:500;line-height:1.25;
  transition:all var(--md-duration-short) var(--md-easing-standard);
  position:relative;
  border:1px solid transparent;
}
.nav-link:hover{
  background:var(--md-surface-container-low);
  color:var(--md-primary);
  border-color:var(--md-outline-subtle);
}
.nav-link.active{
  background:var(--md-primary);
  color:var(--md-on-primary);
  font-weight:500;
  box-shadow:0 1px 3px rgba(13,59,102,.15);
}
/* ===== UE: 导航链接呼吸点 ===== */
.nav-link[data-new]::after{
  content:'';display:inline-block;width:6px;height:6px;
  border-radius:50%;background:var(--md-secondary);
  margin-left:4px;animation:uePulse 2s ease-in-out infinite;
}

/* 导航栏"免费"飘带标识 */
.nav-link-free {
  position: relative;
  overflow: visible;
}
.free-ribbon {
  position: absolute;
  top: -6px;
  right: -4px;
  font-size: 9px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #e53935, #ff7043);
  padding: 2px 6px;
  border-radius: 3px 3px 3px 0;
  line-height: 1.3;
  white-space: nowrap;
  box-shadow: 0 1px 3px rgba(229,57,53,.3);
}
.free-ribbon::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 0;
  border-top: 3px solid #b71c1c;
  border-left: 4px solid transparent;
}

/* Header actions */
.header-actions{display:flex;align-items:center;gap:8px}

/* User Menu */
.user-menu{position:relative}
.user-menu-btn{
  display:flex;align-items:center;gap:8px;
  cursor:pointer;background:transparent;
  border:1px solid var(--md-outline-variant);
  padding:4px 14px 4px 4px;border-radius:var(--md-shape-full);
  font-size:13px;color:var(--md-on-surface-variant);
  transition:all var(--md-duration-short) var(--md-easing-standard);
}
.user-menu-btn:hover{background:var(--md-surface-container-low);border-color:var(--md-outline)}
.user-dropdown{
  display:none;position:absolute;top:calc(100% + 6px);right:0;
  background:var(--md-surface);border:1px solid var(--md-outline-variant);
  border-radius:var(--md-shape-md);box-shadow:var(--md-elevation-4);
  min-width:200px;padding:4px 0;z-index:200;
  animation:dropdownIn var(--md-duration-short) var(--md-easing-standard);
}
@keyframes dropdownIn{from{opacity:1;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.user-dropdown.show{display:block}
.user-dropdown a{
  display:flex;align-items:center;gap:10px;padding:10px 16px;
  color:var(--md-on-surface);font-size:13px;
  transition:all var(--md-duration-short) var(--md-easing-standard);
}
.user-dropdown a:hover{background:var(--md-surface-container-low);color:var(--md-primary)}
.user-dropdown hr{margin:4px 0;border:none;border-top:1px solid var(--md-outline-subtle)}

/* Notification badge */
.notif-badge{
  position:absolute;top:-2px;right:-6px;
  background:var(--md-error);color:white;font-size:10px;
  width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-weight:700;
}

/* Avatar */
.avatar-sm{
  width:30px;height:30px;border-radius:50%;
  background:var(--md-primary-container);color:var(--md-on-primary-container);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:600;
}

/* ========================================
   BUTTONS — 品牌按钮系统
   ======================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:9px 22px;border-radius:var(--md-shape-sm);
  font-size:13.5px;font-weight:500;line-height:1.25;
  cursor:pointer;transition:all var(--md-duration-short) var(--md-easing-standard);
  border:1.5px solid transparent;white-space:nowrap;letter-spacing:0;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  font-family:inherit;
}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn:active{transform:translateY(0)}

/* Primary */
.btn-primary{
  background:var(--brand-gradient);
  color:var(--md-on-primary);
  box-shadow:0 2px 8px rgba(13,59,102,.25);
  position:relative;overflow:hidden;
}
/* 按钮微光扫过 */
.btn-primary::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.12) 50%,transparent 70%);
  background-size:200% 100%;
  animation:ueShimmer 3s ease-in-out infinite;
  pointer-events:none;
}
.btn-primary:hover{
  background:linear-gradient(135deg, #1A5C99, #0D3B66);
  color:var(--md-on-primary);
  box-shadow:0 4px 18px rgba(13,59,102,.4);
  transform:translateY(-2px);
}
.btn-primary:hover::after{animation:none}
.btn-primary:active{box-shadow:0 1px 4px rgba(13,59,102,.2);transform:scale(.97) translateY(0)}

/* Outlined */
.btn-outline{
  background:transparent;color:var(--md-primary);
  border:1.5px solid var(--md-outline-subtle);
}
.btn-outline:hover{
  background:var(--md-primary-container);
  border-color:var(--md-primary-light);
  color:var(--md-primary);
}

/* Ghost / Text */
.btn-ghost{background:transparent;color:var(--md-on-surface-variant);border:1.5px solid transparent}
.btn-ghost:hover{background:var(--md-surface-container-low);color:var(--md-on-surface)}

/* Sizes */
.btn-lg{padding:13px 30px;font-size:15px;height:46px;border-radius:var(--md-shape-md)}
.btn-sm{padding:5px 14px;font-size:12px;height:30px;border-radius:var(--md-shape-xs)}
.btn-block{width:100%}

/* Icon button */
.btn-icon{
  position:relative;width:38px;height:38px;padding:0;
  border-radius:var(--md-shape-sm);border:none;background:transparent;
  color:var(--md-on-surface-variant);font-size:16px;
  transition:all var(--md-duration-short) var(--md-easing-standard);
}
.btn-icon:hover{background:var(--md-surface-container-low);color:var(--md-primary)}

/* ========================================
   SECTIONS — 品牌空间节奏
   ======================================== */
.section{padding:clamp(40px,7vw,72px) 0}
.section-alt{background:var(--md-surface-container-low)}
.section-title{
  font-size:clamp(20px,3vw,28px);font-weight:700;
  color:var(--md-on-surface);margin-bottom:8px;
  letter-spacing:-0.2px;line-height:1.25;
}
.section-desc{
  color:var(--md-on-surface-variant);
  margin-bottom:clamp(24px,4vw,40px);
  font-size:clamp(14px,1.8vw,16px);line-height:1.6;
}
.section-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:clamp(28px,4vw,40px);flex-wrap:wrap;gap:12px;
}

/* ========================================
   HERO PREMIUM — 品牌首屏
   ======================================== */
.hero-premium{
  position:relative;overflow:hidden;
  padding:clamp(48px,6vw,72px) 0 clamp(32px,5vw,52px);
  background:var(--hero-gradient);
}
.hero-premium::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 40% at 20% 80%, rgba(14,124,107,.08) 0%, transparent 55%),
    radial-gradient(ellipse 50% 35% at 80% 20%, rgba(200,75,49,.06) 0%, transparent 55%),
    radial-gradient(ellipse 100% 60% at 50% 50%, rgba(26,92,153,.04) 0%, transparent 60%);
  pointer-events:none;
}
.hero-bg-gradient{
  position:absolute;inset:0;
  background:
    url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Ccircle fill='rgba(255,255,255,.022)' cx='30' cy='30' r='1.5'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.6;pointer-events:none;
}
/* UE: 非对称有机光斑替代网格 */
.hero-bg-organic{
  position:absolute;inset:0;pointer-events:none;
  z-index:0;
}
.hero-bg-organic::before{
  content:'';position:absolute;
  top:10%;left:-5%;width:45%;height:55%;
  background:radial-gradient(ellipse at center,rgba(147,197,253,.06) 0%,transparent 70%);
  border-radius:40% 60% 55% 45%;
  animation:ueBreathe 8s ease-in-out infinite;
}
.hero-bg-organic::after{
  content:'';position:absolute;
  bottom:5%;right:-3%;width:38%;height:48%;
  background:radial-gradient(ellipse at center,rgba(14,124,107,.05) 0%,transparent 70%);
  border-radius:55% 45% 60% 40%;
  animation:ueBreathe 6s ease-in-out infinite reverse;
}
.hero-bg-grid{
  display:none;
}

/* 叠层容器 */
.hero-stack{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;
  gap:clamp(24px,3.5vw,36px);
}

/* 文案层 */
.hero-content{
  text-align:center;max-width:720px;
  position:relative;z-index:2;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 14px;
  background:rgba(214,235,255,.12);
  border:1px solid rgba(214,235,255,.18);
  border-radius:var(--md-shape-full);
  font-size:11px;color:#93C5FD;
  margin-bottom:clamp(12px,1.6vw,16px);
  letter-spacing:.3px;
  backdrop-filter:blur(4px);
}
.hero-badge i{font-size:10px;color:#60A5FA}
.hero-badge::after{
  content:'•';
  color:rgba(255,255,255,.2);
  margin-left:2px;
}
.hero-title{
  font-size:clamp(26px,4.5vw,44px);font-weight:700;color:#FFFFFF;
  line-height:1.25;margin-bottom:clamp(10px,1.5vw,14px);letter-spacing:-0.4px;
}
.hero-highlight{
  background:linear-gradient(135deg,#60A5FA,#93C5FD,#A5F3FC);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-left:8px;
}
.hero-desc{
  font-size:clamp(13px,1.5vw,15px);color:#94A3B8;
  line-height:1.7;
  max-width:560px;margin-left:auto;margin-right:auto;
}
.hero-stats-row{
  display:flex;justify-content:center;gap:clamp(20px,3.5vw,48px);
  flex-wrap:wrap;
  margin-top:clamp(24px,3.5vw,32px);
  padding:clamp(18px,3vw,28px) clamp(24px,3.5vw,40px);
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--md-shape-lg);
  backdrop-filter:blur(8px);
}
.hero-cta-row{
  display:flex;gap:12px;flex-wrap:wrap;margin-top:14px;
}
.hero-cta-row .btn{flex:1 1 0;justify-content:center}
@media(max-width:480px){.hero-cta-row .btn{flex:1 1 100%}}
.hero-stat{flex:1;min-width:100px;text-align:center}
.hero-stat-num{
  display:block;font-size:clamp(20px,2.8vw,28px);font-weight:700;color:#FFFFFF;
  margin-bottom:4px;letter-spacing:-.3px;
}
.hero-stat-label{
  font-size:11.5px;color:#7B93B8;
  letter-spacing:.3px;font-weight:500;
  text-transform:uppercase;
}

/* 搜索层 */
.hero-search-layer{
  position:relative;z-index:3;
  max-width:720px;width:100%;
}
.hero-search-layer .search-box{
  box-shadow:0 8px 40px rgba(0,0,0,.3),0 2px 8px rgba(0,0,0,.15);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--md-shape-lg);
  background:rgba(255,255,255,.98);
}

/* Responsive */
@media(max-width:768px){
  .hero-premium{padding:clamp(36px,6vw,48px) 0 clamp(28px,4vw,36px)}
  .hero-title{font-size:clamp(22px,5.5vw,30px)}
  .hero-desc{font-size:12px;max-width:100%}
  .hero-stats-row{gap:clamp(16px,3vw,24px)}
  .hero-stat-num{font-size:clamp(17px,3.5vw,22px)}
}
@media(max-width:480px){
  .hero-highlight{display:block;margin-left:0;margin-top:2px}
}

/* ========================================
   CORE MARKET
   ======================================== */
.core-market{background:var(--md-surface-dim)}
.core-block{margin-bottom:clamp(40px,6vw,64px)}
.core-block:last-child{margin-bottom:0}
.section-desc-sm{font-size:13px;color:var(--md-on-surface-variant);margin-top:4px}

/* ========================================
   SEARCH
   ======================================== */
.search-box{
  background:var(--md-surface);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-md);
  padding:clamp(20px,3vw,28px);
  box-shadow:var(--md-elevation-1);
}
.search-box-lg{padding:clamp(24px,3.5vw,40px)}

/* Tabs */
.search-tabs{
  display:flex;gap:4px;margin-bottom:clamp(16px,2vw,22px);
  background:var(--md-surface-container-low);
  padding:4px;border-radius:var(--md-shape-sm);
  overflow-x:auto;-webkit-overflow-scrolling:touch;
}
.search-tabs::-webkit-scrollbar{display:none}
.search-tab{
  padding:8px 18px;border:none;background:transparent;
  font-size:13px;font-weight:500;color:var(--md-on-surface-variant);
  cursor:pointer;border-radius:var(--md-shape-xs);
  transition:all var(--md-duration-short) var(--md-easing-standard);
  white-space:nowrap;flex-shrink:0;
  -webkit-tap-highlight-color:transparent;
  font-family:inherit;
}
.search-tab.active{
  background:var(--md-surface);
  color:var(--md-primary);
  box-shadow:var(--md-elevation-1);
}
.search-tab:hover{color:var(--md-on-surface)}

.search-panel{display:none}
.search-panel.active{display:block;animation:fadeSlideIn .2s var(--md-easing-standard)}
@keyframes fadeSlideIn{from{opacity:.8;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

.search-form{width:100%}
.search-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.search-row .input-group{flex:1;min-width:160px}

/* Input Group */
.input-group{
  display:flex;align-items:center;
  border:1.5px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-sm);
  overflow:hidden;background:var(--md-surface);
  transition:all var(--md-duration-short) var(--md-easing-standard);
}
.input-group:focus-within{
  border-color:var(--md-primary-light);
  box-shadow:0 0 0 4px rgba(26,92,153,.06);
  transform:translateY(-1px);
}
.input-group i{padding:0 12px;color:var(--md-on-surface-muted);font-size:14px;flex-shrink:0}
.input-group-lg{border-radius:var(--md-shape-sm)}
.input-group-lg .search-input{padding:12px 16px;font-size:15px}
.search-input{
  flex:1;border:none;outline:none;
  padding:10px 14px;font-size:14px;color:var(--md-on-surface);
  background:transparent;min-width:0;font-family:inherit;
}
.search-input::placeholder{color:var(--md-on-surface-muted)}
.input-group .btn{
  border-radius:0 var(--md-shape-xs) var(--md-shape-xs) 0;
  flex-shrink:0;margin:0;height:100%;
}

.search-suggestions{
  margin-top:clamp(12px,2vw,16px);
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  font-size:12px;color:var(--md-on-surface-variant);
}
.search-suggestions a{
  color:var(--md-primary-light);
  padding:5px 14px;
  border-radius:var(--md-shape-full);
  background:var(--md-primary-container);
  font-weight:500;font-size:12px;
  transition:all var(--md-duration-short) var(--md-easing-standard);
  border:1px solid transparent;
}
.search-suggestions a:hover{
  background:var(--md-primary);
  color:#fff;
  border-color:var(--md-primary);
}
.search-tips{margin-top:12px;font-size:12px;color:var(--md-on-surface-muted)}

/* ===== Hero 实时联想下拉 ===== */
.hero-live-suggestions{text-align:left}
.hls-correction{padding:12px 16px;background:#E8F5E9;border-bottom:1px solid #C8E6C9;font-size:14px;color:#1B5E20}
.hls-correction i{color:#2E7D32;margin-right:4px}
.hls-correction-link{color:var(--md-primary);font-weight:600;text-decoration:underline}
.hls-section{padding:6px 0}
.hls-section+.hls-section{border-top:1px solid var(--md-outline-subtle)}
.hls-title{padding:6px 16px;font-size:12px;font-weight:500;color:var(--md-on-surface-variant)}
.hls-title i{margin-right:4px}
.hls-item{display:flex;align-items:center;gap:10px;padding:8px 16px;text-decoration:none;color:var(--md-on-surface);font-size:13px;transition:background 0.12s;cursor:pointer}
.hls-item:hover,.hls-item:focus{background:var(--md-surface-container-low);outline:none}
.hls-item.hls-hot{background:#FFF8E1}
.hls-item.hls-hot:hover{background:#FFF3E0}
.hls-code{font-family:'SF Mono','Consolas','Monaco',monospace;font-weight:600;font-size:12px;color:var(--md-primary);background:var(--md-primary-container);padding:2px 8px;border-radius:4px;white-space:nowrap}
.hls-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--md-on-surface)}
.hls-arrow{font-size:10px;color:var(--md-on-surface-muted);flex-shrink:0;opacity:0;transition:opacity 0.15s}
.hls-item:hover .hls-arrow{opacity:1}

/* ===== 联想建议 Chip 交互 ===== */
.suggestion-chip:hover{background:#A8CEF0 !important;transform:translateY(-1px);box-shadow:0 2px 8px rgba(13,59,102,.15)}
.hot-chip:hover{background:#FFE0B2 !important;transform:translateY(-1px);box-shadow:0 2px 8px rgba(230,81,0,.12)}
.smart-correction a:hover{opacity:0.85}

@media(max-width:768px){
  .search-row{flex-direction:column}
  .search-row .input-group{width:100%;min-width:0}
  .search-row .btn{width:100%}
  .search-box{border-radius:var(--md-shape-lg)}
}

/* ========================================
   HS CATEGORY GRID (Legacy compact cards - kept for reference)
   ======================================== */
.hs-category-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(clamp(280px,38vw,340px),1fr));
  gap:clamp(10px,1.8vw,14px);
}
@media(max-width:768px){.hs-category-grid{grid-template-columns:1fr}}

/* ========================================
   CARGO GRID
   ======================================== */
.cargo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(clamp(280px,38vw,320px),1fr));
  gap:clamp(16px,2.5vw,22px);
}
.cargo-grid-compact{grid-template-columns:repeat(auto-fill,minmax(clamp(240px,32vw,280px),1fr))}

.cargo-card{
  display:flex;flex-direction:column;
  background:var(--md-surface);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-lg);
  padding:clamp(18px,2.5vw,24px);
  transition:all var(--md-duration-medium) var(--md-easing-standard);
  color:inherit;text-decoration:none;cursor:pointer;
  position:relative;overflow:hidden;
  /* UE: 卡片交错入场 */
  animation:ueRevealUp .45s var(--md-easing-emphasized) both;
}
.cargo-card-overlay{
  position:absolute;inset:0;z-index:1;
  border-radius:var(--md-shape-lg);
}
.cargo-card-header,.cargo-card h3,.cargo-route,.cargo-meta,.cargo-card-footer{position:relative;z-index:2}
.cargo-card h3.cargo-name a{color:var(--md-on-surface);text-decoration:none}
.cargo-card h3.cargo-name a:hover{color:var(--md-primary)}

/* 卡片错列入场 */
.cargo-card:nth-child(2){animation-delay:.06s}
.cargo-card:nth-child(3){animation-delay:.12s}
.cargo-card:nth-child(4){animation-delay:.18s}
.cargo-card:nth-child(5){animation-delay:.24s}
.cargo-card:nth-child(6){animation-delay:.30s}
.cargo-card::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:3px;
  background:var(--brand-gradient);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--md-duration-medium) var(--md-easing-emphasized);
}
.cargo-card:hover{
  box-shadow:0 6px 24px rgba(13,59,102,.08),0 2px 6px rgba(13,59,102,.04);
  border-color:var(--md-primary-light);
  color:inherit;text-decoration:none;
  transform:translateY(-3px);
}
.cargo-card:hover::before{transform:scaleX(1)}
.cargo-card:active{transform:scale(.98) translateY(-1px)}

.cargo-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.cargo-date{font-size:11px;color:var(--md-on-surface-muted);font-weight:500}
.cargo-name{font-size:16px;font-weight:600;margin-bottom:10px;color:var(--md-on-surface);line-height:1.35}
.cargo-route{
  display:flex;align-items:center;gap:8px;margin-bottom:14px;
  color:var(--md-on-surface-variant);font-size:13px;font-weight:400;flex-wrap:wrap;
}
.cargo-route .port{font-weight:600;color:var(--md-on-surface)}
.cargo-route i{color:var(--md-primary-light);font-size:11px}
.cargo-meta{
  display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px;
  font-size:12px;color:var(--md-on-surface-variant);
}
.cargo-meta i{margin-right:3px;opacity:.6}
.cargo-card-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;border-top:1px solid var(--md-outline-subtle);
  margin-top:auto;flex-wrap:wrap;gap:8px;
}
.cargo-company{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--md-on-surface-variant)}
.cargo-card-stats{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--md-on-surface-muted)}
.cargo-card-stats .text-accent{color:var(--md-primary);font-weight:600}

@media(max-width:768px){
  .cargo-grid,.cargo-grid-compact{grid-template-columns:1fr}
}

/* ========================================
   FREIGHT RATE CARDS（运价采集卡片）
   ======================================== */
.freight-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(clamp(260px,36vw,300px),1fr));
  gap:clamp(14px,2vw,20px);
}
.freight-card{
  display:flex;flex-direction:column;
  background:var(--md-surface);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-lg);
  padding:clamp(16px,2.2vw,20px);
  transition:all var(--md-duration-medium) var(--md-easing-standard);
  color:inherit;text-decoration:none;cursor:pointer;
  position:relative;overflow:hidden;
  animation:ueRevealUp .45s var(--md-easing-emphasized) both;
}
.freight-card:nth-child(2){animation-delay:.06s}
.freight-card:nth-child(3){animation-delay:.12s}
.freight-card:nth-child(4){animation-delay:.18s}
.freight-card:nth-child(5){animation-delay:.24s}
.freight-card:nth-child(6){animation-delay:.30s}
.freight-card:hover{
  box-shadow:0 6px 24px rgba(13,59,102,.08),0 2px 6px rgba(13,59,102,.04);
  border-color:var(--md-primary-light);
  color:inherit;text-decoration:none;
  transform:translateY(-3px);
}
.freight-card:active{transform:scale(.98) translateY(-1px)}
.freight-card::after{
  content:'';position:absolute;top:0;right:0;width:90px;height:90px;
  background:linear-gradient(135deg,transparent 50%,rgba(13,59,102,.02) 50%);
  border-radius:0 0 0 90px;pointer-events:none;
}
.fc-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;gap:8px;flex-wrap:wrap;
}
.fc-platform{
  display:flex;align-items:center;gap:6px;
  font-size:11px;color:var(--md-on-surface-variant);
  background:var(--md-surface-container-low);
  padding:3px 10px;border-radius:var(--md-shape-full);
  font-weight:500;
}
.fc-platform i{font-size:10px;color:var(--md-primary)}
.fc-container{
  font-size:11px;font-weight:600;color:var(--md-primary);
  background:var(--md-primary-container);
  padding:3px 10px;border-radius:var(--md-shape-full);
}
.fc-route{
  display:flex;align-items:center;gap:10px;
  margin-bottom:12px;font-size:14px;font-weight:600;
  color:var(--md-on-surface);line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.fc-route i{color:var(--md-primary-light);font-size:10px;flex-shrink:0}
.fc-route .fc-pol,.fc-route .fc-pod{overflow:hidden;text-overflow:ellipsis}
.fc-route .fc-sep{flex-shrink:0;margin:0 2px}
.fc-price-row{
  display:flex;align-items:baseline;gap:4px;margin-bottom:10px;
}
.fc-price{
  font-size:22px;font-weight:700;
  background:linear-gradient(135deg, #C84B31, #D95D3E);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1.2;
}
.fc-price-currency{font-size:12px;font-weight:600;color:var(--md-on-surface-variant)}
.fc-price-unit{font-size:11px;color:var(--md-on-surface-variant)}
.fc-meta-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:6px 12px;margin-bottom:12px;
}
.fc-meta-item{
  font-size:11px;color:var(--md-on-surface-variant);
  display:flex;align-items:center;gap:4px;
}
.fc-meta-item i{font-size:10px;color:var(--md-outline);width:14px;text-align:center}
.fc-meta-item strong{color:var(--md-on-surface);font-weight:600}
.fc-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:12px;border-top:1px solid var(--md-outline-subtle);
  margin-top:auto;gap:8px;flex-wrap:wrap;
}
.fc-time{
  font-size:11px;color:var(--md-on-surface-muted);
  display:flex;align-items:center;gap:4px;font-weight:500;
}
.fc-source-level{
  display:flex;align-items:center;gap:4px;
  font-size:10px;padding:2px 8px;border-radius:var(--md-shape-full);
  font-weight:500;
}
.fc-source-level.verified{background:#D4F5EC;color:#0E7C6B}
.fc-source-level.cross-verified{background:#D6EBFF;color:#0D3B66}
.fc-source-level.crawled{background:#FFF3E0;color:#92400E}

@media(max-width:768px){
  .freight-grid{grid-template-columns:1fr}
}

/* ========================================
   BADGES
   ======================================== */
.badge{
  display:inline-flex;align-items:center;
  padding:3px 10px;border-radius:var(--md-shape-full);
  font-size:11px;font-weight:500;letter-spacing:0;
}
.badge-fcl{background:var(--md-primary-container);color:var(--md-on-primary-container)}
.badge-lcl{background:var(--md-success-container);color:var(--md-success)}
.badge-reefer{background:var(--md-tertiary-container);color:var(--md-tertiary)}
.badge-dg{background:var(--md-error-container);color:var(--md-error)}
.badge-oog{background:var(--md-warning-container);color:var(--md-warning)}
.badge-active{background:var(--md-success-container);color:var(--md-success)}
.badge-muted{background:var(--md-surface-container);color:var(--md-on-surface-variant)}
.badge-sh{background:var(--md-primary-container);color:var(--md-on-primary-container)}
.badge-forwarder{background:var(--md-warning-container);color:var(--md-warning)}
.badge-lg{padding:5px 14px;font-size:13px}

.hs-badge{
  display:inline-flex;align-items:center;
  background:var(--md-surface-container);
  color:var(--md-on-surface-variant);
  padding:3px 10px;border-radius:var(--md-shape-full);
  font-size:11px;font-family:inherit;font-weight:400;
  text-decoration:none;cursor:pointer;
}
.hs-badge-ask{
  background:var(--md-tertiary-container);
  color:var(--md-tertiary);
  text-decoration:none;gap:4px;
}
.hs-badge-ask:hover{
  background:var(--md-tertiary-container);
  filter:brightness(0.92);
}

/* ========================================
   FILTER BAR
   ======================================== */
.filter-bar{margin-bottom:clamp(20px,3vw,28px)}
.filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.filter-item{flex:1;min-width:140px;position:relative}
.filter-item i{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--md-on-surface-variant);font-size:14px;pointer-events:none;z-index:1;
}
.filter-item input,.filter-item select{
  width:100%;padding:10px 14px 10px 38px;
  border:1.5px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-sm);font-size:13px;
  outline:none;background:var(--md-surface);color:var(--md-on-surface);
  transition:all var(--md-duration-short) var(--md-easing-standard);
  font-family:inherit;
}
.filter-item select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2369717C' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;
  appearance:none;-webkit-appearance:none;
}
/* UE: 筛选项 focus 微上浮 */
.filter-item input:focus,.filter-item select:focus{
  border-color:var(--md-primary-light);
  box-shadow:0 0 0 3px rgba(26,92,153,.06);
  transform:translateY(-1px);
}
.results-count{margin-bottom:clamp(16px,2.5vw,24px);font-size:13px;color:var(--md-on-surface-variant)}
.results-count strong{color:var(--md-on-surface);font-weight:600}

@media(max-width:768px){
  .filter-row{flex-direction:column}
  .filter-item{width:100%;min-width:0}
  .filter-row .btn{width:100%}
}

/* ========================================
   TABLES
   ======================================== */
.freight-table-wrap,.hs-table-wrap{
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-md);background:var(--md-surface);
  box-shadow:0 2px 8px rgba(13,59,102,0.04);
  margin:24px 0;
}
.freight-table-wrap::-webkit-scrollbar,.hs-table-wrap::-webkit-scrollbar{height:5px}
.freight-table-wrap::-webkit-scrollbar-thumb,.hs-table-wrap::-webkit-scrollbar-thumb{background:var(--md-outline-variant);border-radius:4px}
.freight-table-wrap::-webkit-scrollbar-track{background:var(--md-surface-container-low)}

.freight-table,.hs-table{
  width:100%;min-width:600px;border-collapse:collapse;
  font-size:14px;
  line-height:1.5;
}
.freight-table{color:var(--md-on-surface)}
.hs-table{color:var(--md-on-surface-variant)}
.freight-table th,.hs-table th{
  background:var(--md-surface-container-low);
  padding:14px 20px;text-align:left;font-weight:600;
  font-size:12px;color:var(--md-on-surface-muted);
  border-bottom:2px solid var(--md-outline-subtle);white-space:nowrap;
  letter-spacing:.3px;text-transform:uppercase;
}
.freight-table td,.hs-table td{
  padding:14px 20px;border-bottom:1px solid var(--md-outline-subtle);white-space:nowrap;
  vertical-align:top;
}
.freight-table td{color:var(--md-on-surface)}
.hs-table td{white-space:normal;word-break:break-word;color:var(--md-on-surface-variant)}
.freight-table td a{color:var(--md-primary-light);font-weight:500}
.hs-table td a{color:var(--md-on-surface-variant)}
.freight-table td .text-muted,.hs-table td .text-muted{color:var(--md-on-surface-muted)}
.freight-table tbody tr,.hs-table tbody tr{transition:all var(--md-duration-short) var(--md-easing-standard)}
.freight-table tbody tr:hover td,.hs-table tbody tr:hover td{
  background:var(--md-surface-container-low);
  transition:all var(--md-duration-short) var(--md-easing-standard);
}
.freight-table tbody tr:last-child td,.hs-table tbody tr:last-child td{border-bottom:none}
/* UE: 表格行交替微色带，降低阅读疲劳 */
.freight-table tbody tr:nth-child(even) td,.hs-table tbody tr:nth-child(even) td{
  background:rgba(13,59,102,.008);
}
.freight-table tbody tr:nth-child(even):hover td,.hs-table tbody tr:nth-child(even):hover td{
  background:var(--md-surface-container);
}

.hs-code-link{
  color:var(--md-on-surface-variant);font-weight:500;font-size:14px;
  text-decoration:none;
}
a.hs-code-link:hover{text-decoration:none}

/* ========================================
   HS Code Detail — 监管条件 / 检验检疫类别
   ======================================== */
.detail-section-title{
  font-size:15px;margin-bottom:14px;
}
.detail-section-title i{
  color:var(--md-primary);margin-right:8px;font-size:13px;
}
.reg-card-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;
}
.reg-card{
  padding:16px 18px;background:var(--md-surface-container-low);
  border-radius:var(--md-shape-sm);border:1px solid var(--md-outline-subtle);
}
.reg-card-header{
  display:flex;align-items:center;gap:10px;margin-bottom:10px;
}
.reg-code-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:26px;height:26px;background:var(--md-primary-container);
  color:var(--md-on-primary-container);border-radius:var(--md-shape-xs);
  font-size:14px;font-weight:700;
}
.reg-card-label{
  font-size:14px;font-weight:500;color:var(--md-on-surface);
}
.reg-card-desc{
  font-size:14px;color:var(--md-on-surface-variant);line-height:1.8;
}
/* 检验检疫类别 */
.insp-card-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;
}
.insp-card{
  padding:14px 16px;background:var(--md-surface-container-low);
  border-radius:var(--md-shape-sm);border:1px solid var(--md-outline-subtle);
}
.insp-card-code{
  font-size:14px;font-weight:700;color:var(--md-primary);margin-bottom:8px;
}
.insp-card-name{
  font-size:14px;font-weight:500;color:var(--md-on-surface);margin-bottom:6px;
}
.insp-card-desc{
  font-size:14px;color:var(--md-on-surface-variant);line-height:1.8;
}

/* ========================================
   AUTH — Login/Register
   ======================================== */
.auth-section{
  padding:clamp(48px,8vw,96px) 0;
  min-height:calc(100vh - 200px);
  display:flex;align-items:center;
  background:var(--md-surface-dim);
}
.auth-card{
  max-width:448px;width:100%;margin:0 auto;
  background:var(--md-surface);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-xl);padding:clamp(28px,4vw,48px);
  box-shadow:var(--md-elevation-2);
}
.auth-title{font-size:clamp(22px,3vw,28px);font-weight:400;margin-bottom:8px}
.auth-desc{color:var(--md-on-surface-variant);margin-bottom:clamp(24px,3vw,32px);font-size:14px}

.auth-form .form-group{margin-bottom:clamp(16px,2vw,20px)}
.auth-form label{display:block;font-size:13px;font-weight:500;margin-bottom:8px;color:var(--md-on-surface)}
.auth-form .required{color:var(--md-error)}
.auth-form input[type="text"],
.auth-form input[type="email"],
.auth-form input[type="password"],
.auth-form input[type="number"],
.auth-form input[type="date"],
.auth-form select,
.auth-form textarea{
  width:100%;padding:12px 16px;
  border:1px solid var(--md-outline-variant);
  border-radius:var(--md-shape-sm);font-size:14px;
  outline:none;background:var(--md-surface);
  color:var(--md-on-surface);
  transition:all var(--md-duration-short) var(--md-easing-standard);
  font-family:inherit;appearance:none;-webkit-appearance:none;
}
.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus{
  border-color:var(--md-primary-light);box-shadow:0 0 0 4px rgba(26,92,153,.06);
  transform:translateY(-1px);
}
.auth-form textarea{resize:vertical;min-height:80px}
.auth-form small{display:block;margin-top:4px;font-size:11px;color:var(--md-on-surface-muted)}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,16px)}
@media(max-width:600px){.form-row{grid-template-columns:1fr}}

.input-with-select{
  display:flex;border:1.5px solid var(--md-outline-variant);
  border-radius:var(--md-shape-sm);overflow:hidden;
  transition:all var(--md-duration-short) var(--md-easing-standard);
}
.input-with-select:focus-within{border-color:var(--md-primary-light);box-shadow:0 0 0 4px rgba(26,92,153,.06)}
.input-with-select input{flex:1;border:none!important;border-radius:0!important;min-width:0}
.input-with-select select{
  width:auto;border:none!important;border-left:1px solid var(--md-outline-subtle)!important;
  border-radius:0!important;background:var(--md-surface);flex-shrink:0;
}

/* User Type Select */
.user-type-select{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:500px){.user-type-select{grid-template-columns:1fr}}
.type-option{cursor:pointer}
.type-option input{display:none}
.type-card{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:clamp(14px,2vw,18px);
  border:1px solid var(--md-outline-variant);
  border-radius:var(--md-shape-md);text-align:center;
  transition:all var(--md-duration-medium) var(--md-easing-standard);
}
.type-card:hover{border-color:var(--md-primary-light);background:var(--md-primary-container)}
.type-card i{font-size:22px;color:var(--md-on-surface-muted);transition:color var(--md-duration-short) var(--md-easing-standard)}
.type-card strong{font-size:13px}
.type-card span{font-size:11px;color:var(--md-on-surface-muted)}
.type-option input:checked+.type-card{border-color:var(--md-primary);background:var(--md-primary-container);box-shadow:0 0 0 2px rgba(13,59,102,.15)}
.type-option input:checked+.type-card i{color:var(--md-primary)}

/* Alerts */
.alert{
  padding:12px 16px;border-radius:var(--md-shape-sm);margin-bottom:16px;
  font-size:13px;font-weight:400;display:flex;align-items:center;gap:8px;
}
.alert::before{font-family:"Font Awesome 6 Free";font-weight:900;font-size:14px}
.alert-error{background:var(--md-error-container);color:var(--md-on-error-container);border:1px solid #FFB4AB}
.alert-error::before{content:"\f071"}
.alert-success{background:var(--md-success-container);color:var(--md-success);border:1px solid #A0D5AB}
.alert-success::before{content:"\f058"}

/* ========================================
   DASHBOARD
   ======================================== */
.dashboard-header{
  display:flex;align-items:flex-start;justify-content:space-between;
  margin-bottom:clamp(24px,3vw,32px);flex-wrap:wrap;gap:16px;
}
.dashboard-header h1{font-size:clamp(22px,3vw,28px);font-weight:400}
.dashboard-actions{display:flex;gap:8px;flex-wrap:wrap}

.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(12px,2vw,20px);margin-bottom:clamp(24px,3vw,32px);
}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}

.stat-card{
  display:flex;align-items:center;gap:clamp(14px,2vw,18px);
  padding:clamp(16px,2.5vw,24px);
  background:linear-gradient(135deg,var(--md-surface),var(--md-surface-container-low));
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-lg);
  transition:all var(--md-duration-medium) var(--md-easing-standard);
  position:relative;overflow:hidden;
}
/* UE: 数据卡片微妙的背景光晕 */
.stat-card::after{
  content:'';position:absolute;top:-30%;right:-20%;
  width:120px;height:120px;
  border-radius:var(--md-shape-2xl);
  background:radial-gradient(circle,rgba(13,59,102,.04) 0%,transparent 70%);
  pointer-events:none;
  transition:transform var(--md-duration-long) var(--md-easing-emphasized);
}
.stat-card:hover::after{transform:scale(1.3)}
.stat-card:hover{box-shadow:var(--md-elevation-3);border-color:var(--md-primary-light);transform:translateY(-2px)}
.stat-icon{
  width:clamp(44px,5vw,52px);height:clamp(44px,5vw,52px);
  border-radius:var(--md-shape-sm);
  background:var(--md-primary-container);
  color:var(--md-on-primary-container);
  display:flex;align-items:center;justify-content:center;
  font-size:clamp(20px,2.5vw,24px);flex-shrink:0;
}
.stat-info .stat-number{font-size:clamp(22px,3vw,28px);margin-bottom:2px;font-weight:400;color:var(--md-on-surface)}
.stat-info .stat-label{font-size:12px;color:var(--md-on-surface-variant)}

.dashboard-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(16px,2.5vw,24px);
}
@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr}}

.dashboard-card{
  background:var(--md-surface);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-md);overflow:hidden;
}
.dashboard-card-full{grid-column:1/-1}

.card-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;border-bottom:1px solid var(--md-outline-subtle);
  background:var(--md-surface-container-low);flex-wrap:wrap;gap:8px;
}
.card-header h2{font-size:15px;font-weight:500}
.card-header a{font-size:13px;font-weight:500}

.card-empty{padding:clamp(32px,4vw,48px);text-align:center;color:var(--md-on-surface-muted)}
.card-empty p{margin-bottom:14px;font-size:14px}

.card-list-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 20px;border-bottom:1px solid var(--md-outline-subtle);
  transition:all var(--md-duration-short) var(--md-easing-standard);
  gap:10px;flex-wrap:wrap;
}
.card-list-item:hover{background:rgba(13,59,102,.03)}
.card-list-item:last-child{border-bottom:none}
.card-list-item strong{display:block;font-size:13px;font-weight:500}
.card-list-item .text-muted{font-size:12px}

/* ========================================
   PROFILE
   ======================================== */
.profile-layout{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(16px,2.5vw,24px);margin-top:clamp(20px,3vw,28px);
}
@media(max-width:768px){.profile-layout{grid-template-columns:1fr}}
.profile-card{
  background:var(--md-surface);border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-md);padding:clamp(20px,3vw,32px);
}
.profile-card h2{font-size:16px;font-weight:500;margin-bottom:clamp(16px,2.5vw,24px)}

/* ========================================
   DETAIL PAGE
   ======================================== */
.detail-layout{
  display:grid;grid-template-columns:1fr 320px;
  gap:clamp(20px,3vw,28px);
}
@media(max-width:900px){.detail-layout{grid-template-columns:1fr}}

.detail-card{
  background:var(--md-surface);border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-lg);padding:clamp(20px,2.5vw,28px);
  margin-bottom:clamp(16px,2vw,24px);
  box-shadow:var(--md-elevation-1);
}
/* UE: 详情页首段首字下沉，增加编辑感 */
.detail-description p:first-of-type::first-letter{
  font-size:2.6em;font-weight:700;float:left;
  line-height:.75;padding-right:8px;padding-top:4px;
  color:var(--md-primary);
  font-family:Georgia,"Times New Roman",serif;
}
.detail-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.detail-route{
  display:flex;align-items:center;gap:clamp(16px,3vw,28px);
  padding:clamp(16px,2.5vw,24px);
  background:linear-gradient(135deg, var(--md-primary-container), #E8F0FE);
  border-radius:var(--md-shape-md);
  border:1px solid rgba(26,92,153,.1);
  margin:clamp(16px,2.5vw,24px) 0;justify-content:center;flex-wrap:wrap;
}
.route-item{text-align:center}
.route-label{display:block;font-size:10.5px;color:var(--md-on-surface-muted);margin-bottom:2px;text-transform:uppercase;letter-spacing:.8px;font-weight:600}
.route-value{font-size:clamp(16px,2vw,20px);font-weight:600;color:var(--md-on-primary-container)}
.route-arrow{color:var(--md-primary-light);font-size:clamp(18px,2.2vw,22px)}
.detail-info-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(130px,20vw,150px),1fr));
  gap:clamp(14px,2vw,20px);margin:clamp(16px,2.5vw,24px) 0;
}
.info-item label{display:block;font-size:10.5px;color:var(--md-on-surface-muted);margin-bottom:2px;text-transform:uppercase;font-weight:600;letter-spacing:.8px}
.info-item span{font-size:14px;font-weight:600}
.detail-description{margin-top:clamp(16px,2.5vw,24px);padding-top:clamp(16px,2.5vw,24px);border-top:1px solid var(--md-outline-subtle)}
.detail-description h3{font-size:15px;font-weight:600;margin-bottom:8px}
.detail-description p{color:var(--md-on-surface-variant);line-height:1.7;font-size:14px}

.sidebar-card{
  background:var(--md-surface);border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-lg);padding:clamp(20px,2.5vw,28px);
  position:sticky;top:80px;
  box-shadow:var(--md-elevation-1);
  /* UE: 微妙渐变淡化生硬感 */
  background:linear-gradient(180deg,var(--md-surface) 0%,var(--md-surface-container-low) 100%);
}
@media(max-width:900px){.sidebar-card{position:static;top:auto}}
.sidebar-card h3{font-size:15px;font-weight:500;margin-bottom:16px}
.company-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.company-avatar{
  width:44px;height:44px;border-radius:50%;
  background:var(--md-primary-container);
  color:var(--md-on-primary-container);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:600;flex-shrink:0;
}
.company-info h4{font-size:14px;font-weight:500}
.sidebar-link-btn{
  display:block;padding:8px 16px;background:var(--md-primary-container);
  color:var(--md-on-primary-container);border-radius:var(--md-shape-full);
  font-size:13px;font-weight:500;text-decoration:none;transition:all var(--md-duration-short);
  border:1px solid transparent;
}
.sidebar-link-btn:hover{background:var(--md-primary);color:var(--md-on-primary);border-color:var(--md-primary);}

/* Category Header */
.category-header{
  margin:clamp(20px,3vw,28px) 0;
  padding:clamp(20px,3vw,32px);
  background:var(--md-primary-container);
  border-radius:var(--md-shape-md);
}
.category-header h1{font-size:clamp(20px,2.8vw,26px);font-weight:400;margin-bottom:8px}
.category-desc{color:var(--md-on-surface-variant);font-size:14px;line-height:1.6}
.category-en{font-size:13px;color:var(--md-on-surface-muted);margin-top:4px;font-style:italic}
.category-actions{margin-top:clamp(16px,2.5vw,24px);display:flex;gap:10px;flex-wrap:wrap}

/* Breadcrumb */
.breadcrumb{
  display:flex;align-items:center;gap:8px;
  font-size:12px;color:var(--md-on-surface-muted);
  margin-bottom:clamp(16px,2.5vw,20px);flex-wrap:wrap;
  padding:8px 0;
}
.breadcrumb a{color:var(--md-on-surface-muted);font-weight:400}
.breadcrumb a:hover{color:var(--md-primary-light)}
.breadcrumb i{font-size:8px;opacity:.4}
.breadcrumb span{color:var(--md-on-surface);font-weight:500}

/* ── 智能翻页组件 pg-nav ── */
.pg-nav{
  display:flex;align-items:center;justify-content:center;
  gap:6px;margin:clamp(28px,4vw,48px) auto;
  flex-wrap:wrap;
  font-family:inherit;
}
.pg-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;height:36px;padding:0 8px;
  border-radius:8px;font-size:13px;font-weight:500;
  color:var(--md-on-surface-variant);
  text-decoration:none;background:transparent;
  border:1px solid transparent;
  transition:all .18s var(--md-easing-emphasized);
  cursor:pointer;line-height:1;
  box-sizing:border-box;
}
.pg-btn:hover{
  background:var(--md-surface-container-low);
  border-color:var(--md-outline-subtle);
  color:var(--md-on-surface);
  transform:translateY(-2px);
}
.pg-active{
  background:var(--md-primary) !important;
  color:#fff !important;
  border-color:var(--md-primary) !important;
  font-weight:600;
}
.pg-arrow{font-size:12px}
.pg-disabled{opacity:.28;pointer-events:none}
.pg-ellipsis{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;font-size:16px;font-weight:500;
  color:var(--md-on-surface-variant);
  user-select:none;letter-spacing:1px;
}
.pg-info{
  font-size:13px;color:var(--md-on-surface-variant);
  margin-left:8px;white-space:nowrap;
  user-select:none;
}
.pg-jump{
  display:inline-flex;align-items:center;gap:4px;margin-left:6px;
}
.pg-jump-input{
  width:44px;height:32px;padding:0 6px;
  border:1px solid var(--md-outline-variant);
  border-radius:8px;font-size:13px;text-align:center;
  color:var(--md-on-surface);background:var(--md-surface);
  outline:none;font-family:inherit;
  -moz-appearance:textfield;
}
.pg-jump-input::-webkit-outer-spin-button,
.pg-jump-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pg-jump-input:focus{border-color:var(--md-primary-light);box-shadow:0 0 0 3px rgba(26,92,153,.08)}
.pg-jump-btn{
  height:32px;padding:0 12px;
  border:1px solid var(--md-outline-variant);
  border-radius:8px;font-size:12px;font-weight:600;
  color:var(--md-on-surface-variant);
  background:var(--md-surface);
  cursor:pointer;font-family:inherit;
  transition:all .15s;
}
.pg-jump-btn:hover{
  border-color:var(--md-primary);
  color:var(--md-primary);
  background:var(--md-primary-container);
}

@media(max-width:640px){
  .pg-nav{gap:3px}
  .pg-btn{min-width:32px;height:32px;font-size:12px;padding:0 6px}
  .pg-ellipsis{width:24px}
  .pg-jump{margin-left:0;margin-top:4px;width:100%;justify-content:center}
}

/* 兼容旧 .pagination 类 */
.pagination{
  display:flex;align-items:center;justify-content:center;
  gap:clamp(12px,2vw,20px);margin-top:clamp(24px,3.5vw,40px);flex-wrap:wrap;
}
.page-info{font-size:13px;color:var(--md-on-surface-variant)}

/* ========================================
   TOPICS SECTION (数据专题入口)
   ======================================== */
.topics-section{
  background:var(--md-surface-container-low);
  padding:clamp(40px,6vw,64px) 0;
}
.topics-header{
  text-align:center;margin-bottom:clamp(24px,4vw,36px);
}
.topics-header .section-title{
  font-size:clamp(20px,3vw,26px);font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-bottom:8px;
}
.topics-header .section-title i{color:var(--md-primary)}
.topics-header .section-desc{
  font-size:14px;color:var(--md-on-surface-variant);max-width:480px;margin:0 auto;
}

.topics-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(12px,2vw,20px);
}
@media(max-width:900px){.topics-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.topics-grid{grid-template-columns:1fr}}

.topic-card{
  display:flex;align-items:center;gap:14px;
  background:var(--md-surface);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-lg);
  padding:clamp(16px,2.5vw,24px) clamp(16px,2vw,20px);
  text-decoration:none;
  transition:all var(--md-duration-medium) var(--md-easing-standard);
  cursor:pointer;
  position:relative;overflow:hidden;
  animation:ueRevealUp .45s var(--md-easing-emphasized) both;
}
.topic-card:nth-child(2){animation-delay:.06s}
.topic-card:nth-child(3){animation-delay:.12s}
.topic-card:nth-child(4){animation-delay:.18s}
.topic-card::before{
  content:'';position:absolute;inset:0;
  background:var(--brand-gradient-cool);
  opacity:0;transition:opacity var(--md-duration-medium);
}
.topic-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--md-elevation-3);
  border-color:var(--md-primary-light);
}
.topic-card:hover::before{opacity:.03}

.topic-icon{
  flex-shrink:0;
  width:48px;height:48px;border-radius:var(--md-shape-md);
  display:flex;align-items:center;justify-content:center;
  font-size:22px;
  transition:transform var(--md-duration-medium) var(--md-easing-emphasized);
}
.topic-card:hover .topic-icon{transform:scale(1.1) rotate(-6deg)}
.topic-info{flex:1;min-width:0}
.topic-name{
  display:block;font-size:15px;font-weight:600;color:var(--md-on-surface);
  margin-bottom:3px;position:relative;z-index:1;
}
.topic-desc{
  display:block;font-size:12px;color:var(--md-on-surface-variant);
  position:relative;z-index:1;
}
.topic-arrow{
  flex-shrink:0;font-size:14px;color:var(--md-outline);
  transition:all var(--md-duration-medium);
  position:relative;z-index:1;
}
.topic-card:hover .topic-arrow{color:var(--md-primary);transform:translateX(4px)}

/* ========================================
   STEPS
   ======================================== */
.steps-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(20px,3vw,28px);margin-top:clamp(24px,3vw,32px);
  counter-reset:step;
}
@media(max-width:768px){.steps-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.steps-grid{grid-template-columns:1fr}}

.step-card{
  text-align:center;padding:clamp(28px,4vw,44px) clamp(20px,3vw,28px);
  background:var(--md-surface);border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-lg);transition:all var(--md-duration-medium) var(--md-easing-standard);
  position:relative;overflow:hidden;
  animation:ueRevealUp .5s var(--md-easing-emphasized) both;
}
.step-card:nth-child(2){animation-delay:.1s}
.step-card:nth-child(3){animation-delay:.2s}
.step-card:nth-child(4){animation-delay:.3s}
.step-card::after{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--brand-gradient-warm);
  opacity:0;transition:opacity var(--md-duration-medium);
}
.step-card:hover{
  box-shadow:var(--md-elevation-3);
  border-color:var(--md-primary-light);
  transform:translateY(-2px);
}
.step-card:hover::after{opacity:1}
.step-number{
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg, var(--md-primary-container), #D6EBFF);
  color:var(--md-on-primary-container);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;position:relative;
  box-shadow:0 4px 12px rgba(13,59,102,.1);
}
.step-number span{
  font-size:20px;font-weight:700;letter-spacing:-.5px;
}
.step-card h3{font-size:17px;font-weight:600;margin-bottom:10px;color:var(--md-on-surface)}
.step-card p{font-size:13px;color:var(--md-on-surface-variant);line-height:1.7}

/* ========================================
   CUSTOMS SHOWCASE (报关单功能介绍 - 游客吸引)
   ======================================== */
.customs-showcase{
  background:linear-gradient(135deg, #0a1628 0%, #122647 40%, #0d3b66 100%);
  color:#fff;padding:clamp(48px,7vw,80px) 0;overflow:hidden;position:relative;
}
.customs-showcase::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 20% 50%, rgba(13,59,102,.15) 0%, transparent 60%),
             radial-gradient(ellipse at 80% 20%, rgba(103,80,164,.12) 0%, transparent 50%);
  pointer-events:none;
}
.customs-showcase .section-header{position:relative;z-index:1}
.customs-showcase .section-title{
  color:#fff;font-size:clamp(22px,3vw,28px);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.customs-showcase .section-title .icon-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:10px;
  background:rgba(13,59,102,.3);font-size:20px;
}
.customs-showcase .section-desc{
  color:rgba(255,255,255,.7);font-size:15px;margin-top:8px;line-height:1.6;
}
.customs-showcase .section-desc strong{color:var(--md-primary-container);font-weight:600}
.customs-features-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:clamp(16px,2vw,24px);margin-top:clamp(32px,4vw,48px);position:relative;z-index:1;
}
.customs-feature-card{
  background:rgba(255,255,255,.06);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.1);border-radius:16px;
  padding:clamp(20px,2.5vw,28px);transition:all .25s ease;position:relative;overflow:hidden;
  animation:ueRevealUp .45s var(--md-easing-emphasized) both;
}
.customs-feature-card:nth-child(2){animation-delay:.1s}
.customs-feature-card:nth-child(3){animation-delay:.2s}
.customs-feature-card:nth-child(4){animation-delay:.3s}
.customs-feature-card::after{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, var(--md-primary), var(--md-tertiary));
  opacity:0;transition:opacity .25s;
}
.customs-feature-card:hover{
  background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);
  transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.3);
}
.customs-feature-card:hover::after{opacity:1}
.customs-feature-icon{
  width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:22px;margin-bottom:14px;
  background:rgba(13,59,102,.25);color:var(--md-primary-container);
}
.customs-feature-card:nth-child(2) .customs-feature-icon{background:rgba(103,80,164,.25);color:#EADDFF}
.customs-feature-card:nth-child(3) .customs-feature-icon{background:rgba(27,122,45,.25);color:#C5E8CC}
.customs-feature-card:nth-child(4) .customs-feature-icon{background:rgba(140,88,0,.25);color:#FFDDB3}
.customs-feature-card h3{font-size:16px;font-weight:500;color:#fff;margin-bottom:6px}
.customs-feature-card p{font-size:13px;color:rgba(255,255,255,.6);line-height:1.5}
.customs-demo-bar{
  display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,20px);
  flex-wrap:wrap;margin-top:clamp(28px,3.5vw,40px);position:relative;z-index:1;
}
.customs-demo-bar .btn{position:relative;z-index:1}
.customs-demo-bar .demo-hint{
  font-size:13px;color:rgba(255,255,255,.5);
  display:flex;align-items:center;gap:6px;
}
.customs-demo-bar .demo-hint i{font-size:14px;color:var(--md-success)}

/* ========================================
   CTA SECTION
   ======================================== */
.cta-section{
  background:linear-gradient(135deg, var(--md-primary-dark), var(--md-primary));
  text-align:center;padding:clamp(48px,7vw,72px) 0;
  position:relative;overflow:hidden;
}
.cta-section::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 40% at 30% 50%, rgba(255,255,255,.03) 0%, transparent 60%),
    radial-gradient(ellipse 50% 35% at 70% 50%, rgba(255,255,255,.02) 0%, transparent 60%);
  pointer-events:none;
}
.cta-section h2{font-size:clamp(22px,3.5vw,30px);font-weight:700;color:#FFFFFF;margin-bottom:12px}
.cta-section p{font-size:15px;color:rgba(255,255,255,.65);margin-bottom:clamp(24px,3vw,32px)}
.cta-actions{display:flex;flex-direction:column;align-items:center;gap:14px}
.cta-actions span{font-size:12px;color:rgba(255,255,255,.4)}
.cta-actions .btn-outline{
  border-color:rgba(255,255,255,.25);
  color:rgba(255,255,255,.85);
}
.cta-actions .btn-outline:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.4);
  color:#fff;
}

/* ========================================
   LINE PRICE CARDS
   ======================================== */
.line-price-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(300px,42vw,380px),1fr));
  gap:clamp(14px,2vw,20px);
}
.line-price-card{
  background:var(--md-surface);border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-md);padding:clamp(16px,2.5vw,24px);
  transition:all var(--md-duration-medium) var(--md-easing-standard);
  animation:ueRevealUp .4s var(--md-easing-emphasized) both;
}
.line-price-card:nth-child(2){animation-delay:.08s}
.line-price-card:nth-child(3){animation-delay:.16s}
.line-price-card:nth-child(4){animation-delay:.24s}
.line-price-card:hover{box-shadow:var(--md-elevation-2);border-color:var(--md-primary);transform:translateY(-1px)}

.lp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}
.lp-date{font-size:11px;color:var(--md-on-surface-muted)}
.lp-route{
  display:flex;align-items:center;gap:clamp(12px,2vw,18px);
  padding:clamp(12px,2vw,16px);background:var(--md-surface-container-low);
  border-radius:var(--md-shape-md);margin-bottom:14px;
  justify-content:center;flex-wrap:wrap;
}
.lp-port strong{font-size:16px;font-weight:500}
.lp-arrow{color:var(--md-primary);font-size:16px}
.lp-prices{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.lp-price-item{
  flex:1;min-width:90px;text-align:center;
  padding:10px;background:var(--md-primary-container);
  border-radius:var(--md-shape-sm);
}
.lp-box{display:block;font-size:10px;color:var(--md-on-surface-variant);margin-bottom:2px;text-transform:uppercase;font-weight:500;letter-spacing:.3px}
.lp-val{font-size:clamp(16px,2vw,20px);font-weight:500;color:var(--md-on-primary-container)}
.lp-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--md-on-surface-variant)}
.lp-meta i{margin-right:3px;opacity:.6}
.lp-valid{font-size:11px;color:var(--md-on-surface-muted);margin-top:8px}
.lp-remark{font-size:12px;color:var(--md-on-surface-variant);margin-top:8px;padding-top:8px;border-top:1px solid var(--md-outline-subtle)}

@media(max-width:768px){.line-price-grid{grid-template-columns:1fr}}
@media(max-width:480px){.lp-prices{flex-direction:column}.lp-price-item{min-width:0}}

/* ========================================
   EMPTY STATE / PAGE HEADER
   ======================================== */
.empty-state{
  text-align:center;padding:clamp(40px,6vw,64px) clamp(16px,3vw,24px);
  color:var(--md-on-surface-muted);
  /* UE: 空状态不再空旷，而是有温度的引导 */
}
.empty-state-icon-wrap{
  display:inline-flex;align-items:center;justify-content:center;
  width:clamp(64px,8vw,88px);height:clamp(64px,8vw,88px);
  border-radius:var(--md-shape-2xl);
  background:linear-gradient(135deg,var(--md-surface-container),var(--md-primary-container));
  margin-bottom:20px;animation:ueFloat 4s ease-in-out infinite;
}
.empty-state-icon-wrap i{
  font-size:clamp(28px,4vw,36px);color:var(--md-primary);opacity:.7;
}
.empty-state i{font-size:clamp(36px,5vw,48px);margin-bottom:16px;opacity:.25;color:var(--md-primary)}
.empty-state p{margin-bottom:16px;font-size:15px}
.empty-state .empty-state-title{
  font-size:clamp(16px,2vw,20px);font-weight:600;color:var(--md-on-surface);
  margin-bottom:8px;
}
.empty-state .empty-state-hint{
  font-size:13px;color:var(--md-on-surface-muted);max-width:360px;margin:0 auto 20px;line-height:1.6;
}
.empty-state .empty-state-actions{
  display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px;
}
.empty-state .empty-state-tip{
  margin-top:12px;font-size:13px;color:var(--md-on-surface-variant);line-height:1.5;
}
.empty-state .empty-state-benefits{
  display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:20px;
}
.empty-state .benefit-item{
  display:flex;align-items:center;gap:6px;font-size:13px;color:var(--md-on-surface-muted);
}
.empty-state .benefit-item i{
  color:var(--md-primary);font-size:12px;
}
.stat-zero{
  color:var(--md-on-surface-muted) !important;
  opacity:0.7;
}
.stat-tooltip{
  font-size:11px;color:var(--md-primary);margin-top:4px;
  background:var(--md-primary-container);padding:2px 8px;border-radius:12px;
  display:inline-block;
}

.page-header{
  margin-bottom:clamp(24px,3vw,32px);
  display:flex;flex-wrap:wrap;align-items:center;gap:clamp(12px,2vw,20px);
}
.page-header h1{font-size:clamp(22px,3vw,28px);font-weight:700;flex:1;min-width:200px;color:var(--md-on-surface)}
.page-header p{color:var(--md-on-surface-variant);font-size:13.5px;width:100%;margin-top:-4px}

/* ========================================
   FOOTER — Google clean style
   ======================================== */
.footer{
  background:var(--md-surface-container-low);
  color:var(--md-on-surface-variant);
  padding:clamp(40px,5vw,56px) 0 clamp(20px,3vw,28px);
  border-top:1px solid var(--md-outline-subtle);
}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:clamp(24px,4vw,40px);margin-bottom:clamp(28px,4vw,40px);
}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr;gap:28px}}

.footer-brand h3{
  font-size:16px;font-weight:500;color:var(--md-on-surface);
  margin-bottom:10px;display:flex;align-items:center;gap:8px;
}
.footer-brand h3 i{color:var(--md-primary)}
.footer-brand p{font-size:13px;line-height:1.7;color:var(--md-on-surface-variant)}

.footer-links h4{
  color:var(--md-on-surface);font-size:13px;margin-bottom:14px;font-weight:500;
}
.footer-links a{
  display:block;color:var(--md-on-surface-variant);
  font-size:13px;padding:5px 0;
  transition:all var(--md-duration-short) var(--md-easing-standard);
}
.footer-links a:hover{color:var(--md-primary);padding-left:6px}

.footer-contact h4{
  color:var(--md-on-surface);font-size:13px;margin-bottom:14px;font-weight:500;
}
.footer-contact p{font-size:13px;margin-bottom:8px;color:var(--md-on-surface-variant)}
.footer-contact i{margin-right:8px;width:14px;color:var(--md-primary)}

.footer-bottom{
  border-top:1px solid var(--md-outline-subtle);
  padding-top:clamp(14px,2vw,20px);text-align:center;
  font-size:12px;color:var(--md-on-surface-muted);
}

/* ========================================
   PRICE BLURRED
   ======================================== */
.price-blurred{color:var(--md-on-surface-muted);font-size:13px;letter-spacing:2px;user-select:none;filter:blur(3px)}

/* ========================================
   CONTACT REVEAL
   ======================================== */
.contact-reveal{animation:fadeInUp .2s var(--md-easing-standard)}
.contact-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--md-on-surface)}
.contact-item i{width:16px;color:var(--md-on-surface-muted);font-size:13px;text-align:center}

@keyframes fadeInUp{from{opacity:1;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* ===== UE 人性化动画关键帧 ===== */
/* 呼吸感：用于重要 CTA、数据高亮 */
@keyframes ueBreathe{
  0%,100%{box-shadow:0 0 0 0 rgba(13,59,102,.15)}
  50%{box-shadow:0 0 0 8px rgba(13,59,102,0)}
}
/* 悬浮感：用于装饰元素 */
@keyframes ueFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
/* 微光扫过：用于数据卡片加载/高亮 */
@keyframes ueShimmer{
  0%{background-position:-200% 0}
  100%{background-position:200% 0}
}
/* 内容渐显：交错入场 */
@keyframes ueRevealUp{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
/* 脉冲点 */
@keyframes uePulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.15);opacity:.7}
}
/* 轻柔弹出 */
@keyframes uePopIn{
  0%{transform:scale(.92);opacity:0}
  60%{transform:scale(1.02)}
  100%{transform:scale(1);opacity:1}
}
/* 数据跳动感 */
@keyframes ueCountUp{
  from{opacity:.5;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}

/* ========================================
   BACK TO TOP — FAB
   ======================================== */
.btn-back-to-top{
  position:fixed;bottom:24px;right:24px;z-index:50;
  width:48px;height:48px;border-radius:var(--md-shape-full);
  background:var(--md-primary-container);color:var(--md-on-primary-container);
  border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:18px;box-shadow:var(--md-elevation-2);
  opacity:1;transform:translateY(12px);pointer-events:none;
  transition:all var(--md-duration-medium) var(--md-easing-emphasized);
}
.btn-back-to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}
.btn-back-to-top:hover{background:var(--md-primary);color:var(--md-on-primary);box-shadow:var(--md-elevation-3)}
.btn-back-to-top:active{transform:scale(.92)}

/* ========================================
   货代运价计算器组件 (calc-widget)
   ======================================== */
.calc-widget{
  background:var(--md-surface);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-xl);
  box-shadow:var(--md-elevation-2);
  overflow:hidden;
  margin:clamp(24px,3vw,40px) 0;
  animation:ueRevealUp .5s var(--md-easing-emphasized) both;
}
.calc-widget__head{
  background:var(--brand-gradient);
  color:#fff;
  padding:clamp(20px,3vw,28px) clamp(20px,3vw,32px);
}
.calc-widget__title{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.calc-widget__icon{
  width:46px;height:46px;border-radius:14px;
  background:rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;
}
.calc-widget__title h2{font-size:clamp(18px,2.4vw,22px);font-weight:700;margin:0;line-height:1.2}
.calc-widget__title p{font-size:13px;opacity:.82;margin:2px 0 0}
.calc-widget__modes{display:flex;gap:6px;background:rgba(255,255,255,.12);border-radius:var(--md-shape-md);padding:4px;flex-wrap:wrap}
.calc-mode{
  flex:1;min-width:80px;padding:9px 10px;border:none;background:none;
  color:rgba(255,255,255,.8);border-radius:var(--md-shape-sm);
  font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.calc-mode:hover{color:#fff;background:rgba(255,255,255,.1)}
.calc-mode.is-active{background:#fff;color:var(--md-primary);box-shadow:0 2px 8px rgba(0,0,0,.15)}

.calc-widget__body{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,360px);
  gap:0;align-items:stretch;
}
/* 中等屏：结果栏收窄但保持两栏 */
@media(max-width:1080px){
  .calc-widget__body{grid-template-columns:minmax(0,1fr) 320px}
}
/* 仅窄屏（手机/小窗）才堆叠为单栏 */
@media(max-width:768px){.calc-widget__body{grid-template-columns:1fr}}

.calc-input{padding:clamp(20px,2.5vw,28px);border-right:1px solid var(--md-outline-subtle);min-width:0}
@media(max-width:768px){.calc-input{border-right:none;border-bottom:1px solid var(--md-outline-subtle)}}
.calc-result{min-width:0}

.calc-quick{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.calc-quick__label{font-size:12px;color:var(--md-on-surface-muted);font-weight:600;padding-top:4px;white-space:nowrap}
.calc-quick__chips{display:flex;flex-wrap:wrap;gap:6px}
.calc-chip{
  padding:5px 12px;font-size:12px;font-weight:500;
  border:1px solid var(--md-outline-subtle);border-radius:var(--md-shape-full);
  background:var(--md-surface);color:var(--md-on-surface-variant);cursor:pointer;transition:all .18s;
}
.calc-chip:hover{border-color:var(--md-primary);color:var(--md-primary);background:var(--md-primary-container)}

.calc-ctypes{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}
.calc-ctype{
  flex:1;min-width:62px;padding:9px 6px;text-align:center;
  border:1.5px solid var(--md-outline-subtle);background:var(--md-surface);
  border-radius:var(--md-shape-sm);font-size:13px;font-weight:600;
  color:var(--md-on-surface-variant);cursor:pointer;transition:all .18s;
}
.calc-ctype:hover{border-color:var(--md-outline-variant)}
.calc-ctype.is-active{border-color:var(--md-primary);background:var(--md-primary-container);color:var(--md-on-primary-container)}

.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.calc-row--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:560px){.calc-row--3{grid-template-columns:1fr}}
.calc-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.calc-field label{font-size:11px;font-weight:600;color:var(--md-on-surface-variant);text-transform:uppercase;letter-spacing:.04em}
.calc-field select,.calc-field input{
  padding:10px 12px;border:1.5px solid var(--md-outline-subtle);border-radius:var(--md-shape-sm);
  font-size:14px;color:var(--md-on-surface);background:var(--md-surface);width:100%;
  transition:border-color .18s;font-family:inherit;
}
.calc-field select:focus,.calc-field input:focus{outline:none;border-color:var(--md-primary);box-shadow:0 0 0 3px rgba(13,59,102,.08)}

.calc-surcharge{margin-top:8px;border-top:1px solid var(--md-outline-subtle);padding-top:16px}
.calc-surcharge__toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  background:var(--md-surface-container-low);border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-sm);padding:11px 14px;cursor:pointer;
  font-size:13px;font-weight:600;color:var(--md-on-surface);transition:all .18s;
}
.calc-surcharge__toggle:hover{border-color:var(--md-primary);color:var(--md-primary)}
.calc-surcharge__toggle i.fa-chevron-down,.calc-surcharge__toggle i.fa-chevron-up{font-size:12px;color:var(--md-on-surface-muted)}
.calc-surcharge__body{
  display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:14px;
  transition:all .25s;
}
.calc-surcharge__body.is-collapsed{display:none}
@media(max-width:560px){.calc-surcharge__body{grid-template-columns:1fr}}
.calc-sgroup{grid-column:1/-1;border:1px dashed var(--md-outline-variant);border-radius:var(--md-shape-sm);padding:12px 14px;background:var(--md-surface-container-low)}
.calc-sgroup__title{font-size:11px;font-weight:700;color:var(--md-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.calc-sgroup .calc-sitem{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.calc-sgroup .calc-sitem label{font-size:12px;color:var(--md-on-surface-variant);align-self:center}
.calc-sitem__input{display:flex;align-items:center;gap:6px;border:1px solid var(--md-outline-subtle);border-radius:var(--md-shape-xs);overflow:hidden;background:var(--md-surface)}
.calc-sitem__input input{border:none;padding:7px 8px;font-size:13px;text-align:right;width:100%;background:transparent;color:var(--md-on-surface);font-family:inherit}
.calc-sitem__input input:focus{outline:none}
.calc-sitem__input span{font-size:11px;color:var(--md-on-surface-muted);padding-right:8px;white-space:nowrap}

.calc-profit{margin-top:18px;border-top:1px solid var(--md-outline-subtle);padding-top:16px}
.calc-profit__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.calc-profit__head span{font-size:14px;font-weight:700;color:var(--md-on-surface);display:flex;align-items:center;gap:6px}
.calc-profit__head b{font-size:18px;font-weight:800;color:var(--md-primary)}
.calc-profit input[type=range]{width:100%;-webkit-appearance:none;height:6px;border-radius:3px;
  background:linear-gradient(to right,var(--md-primary-container),var(--md-primary));outline:none}
.calc-profit input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;
  background:var(--md-primary);cursor:pointer;border:3px solid #fff;box-shadow:var(--md-elevation-2)}
.calc-profit input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--md-primary);cursor:pointer;border:3px solid #fff}
.calc-profit__scale{display:flex;justify-content:space-between;font-size:11px;color:var(--md-on-surface-muted);margin-top:4px}

/* 结果面板 */
.calc-result{background:linear-gradient(180deg,var(--md-surface-container-low),var(--md-surface));padding:clamp(20px,2.5vw,28px);display:flex;flex-direction:column}
.calc-result__head{background:var(--brand-gradient);border-radius:var(--md-shape-md);padding:20px;color:#fff;margin-bottom:16px}
.calc-result__label{font-size:12px;opacity:.85;font-weight:500}
.calc-result__total{font-size:clamp(28px,4vw,36px);font-weight:800;margin:4px 0;line-height:1.1}
.calc-result__route{font-size:12px;opacity:.8;word-break:break-word}
.calc-result__list{flex:1;display:flex;flex-direction:column;gap:2px}
.calc-line{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--md-outline-subtle);font-size:13px}
.calc-line:last-child{border-bottom:none}
.calc-line__k{color:var(--md-on-surface-variant);display:flex;align-items:center;gap:6px}
.calc-line__k i{font-size:10px;opacity:.6}
.calc-line__v{font-weight:600;color:var(--md-on-surface)}
.calc-line--profit .calc-line__v{color:var(--md-success)}
.calc-line--total{border-top:2px solid var(--md-outline-variant);margin-top:4px;padding-top:12px}
.calc-line--total .calc-line__k{font-weight:700;color:var(--md-on-surface);font-size:14px}
.calc-line--total .calc-line__v{font-size:16px;font-weight:800;color:var(--md-primary)}
.calc-line--cny .calc-line__k,.calc-line--cny .calc-line__v{font-size:12px;color:var(--md-on-surface-muted)}
.calc-result__note{font-size:11px;color:var(--md-on-surface-muted);margin-top:14px;line-height:1.5;padding-top:12px;border-top:1px solid var(--md-outline-subtle)}

/* 首页内联版式微调：与首屏留白协调 */
.section--calc{padding:clamp(32px,4vw,48px) 0;background:var(--md-surface-dim)}

/* 官方指数基准条 */
.calc-benchmark{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:rgba(255,255,255,.12);border-radius:var(--md-shape-sm);
  padding:8px 14px;margin-top:14px;font-size:12.5px;
}
.calc-benchmark__tag{display:flex;align-items:center;gap:5px;font-weight:600;color:#fff}
.calc-benchmark__item{display:flex;align-items:center;gap:5px;color:rgba(255,255,255,.92)}
.calc-benchmark__item b{font-weight:700;color:#fff}
.calc-benchmark__item em{font-style:normal;font-weight:600;font-size:11.5px}
.calc-benchmark__item em.up{color:#ffd2d2}
.calc-benchmark__item em.down{color:#c9f7d6}
.calc-benchmark__date{margin-left:auto;color:rgba(255,255,255,.6);font-size:11px}

.calc-result__source{
  font-size:11.5px;color:rgba(255,255,255,.7);margin-top:6px;
  display:flex;align-items:center;gap:5px;
}
.calc-result__source::before{content:'';width:6px;height:6px;border-radius:50%;background:#7ee0a0;display:inline-block}
.calc-result__source.is-est::before{background:#ffc46b}

/* ========================================
   UE: 编辑感排版系统 — 减少 AI 味
   ======================================== */
/* 高亮关键数据（如价格、数量）*/
.data-highlight{
  display:inline-block;
  font-weight:700;font-size:1.15em;
  color:var(--md-primary);
  background:linear-gradient(180deg,transparent 60%,rgba(214,235,255,.5) 60%);
  padding:0 2px;
}
/* 引导性 callout 块 */
.editorial-callout{
  margin:clamp(16px,2vw,24px) 0;
  padding:clamp(14px,2vw,20px) clamp(16px,2vw,24px);
  background:var(--brand-gradient-subtle);
  border-left:3px solid var(--md-primary-light);
  border-radius:0 var(--md-shape-sm) var(--md-shape-sm) 0;
  font-size:14px;color:var(--md-on-surface-variant);line-height:1.7;
  position:relative;
}
.editorial-callout::before{
  content:'i';
  position:absolute;left:-14px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;border-radius:50%;
  background:var(--md-primary);color:#fff;
  font-size:12px;font-weight:700;font-style:italic;font-family:Georgia,serif;
  display:flex;align-items:center;justify-content:center;
}
/* 可扫描段落 */
.scannable-block{margin-bottom:clamp(20px,3vw,32px)}
.scannable-block .block-label{
  font-size:11px;text-transform:uppercase;letter-spacing:.5px;
  font-weight:600;color:var(--md-on-surface-muted);margin-bottom:4px;
}
.scannable-block .block-lead{
  font-size:17px;font-weight:600;color:var(--md-on-surface);
  line-height:1.4;margin-bottom:10px;
}
.scannable-block .block-body{
  font-size:14px;color:var(--md-on-surface-variant);line-height:1.7;
  max-width:65ch;
}
/* 数据对比条 */
.compare-bar{
  display:flex;align-items:center;gap:12px;
  padding:8px 0;font-size:13px;
}
.compare-bar .compare-label{min-width:80px;color:var(--md-on-surface-muted);text-align:right}
.compare-bar .compare-track{flex:1;height:6px;background:var(--md-surface-container);border-radius:3px;overflow:hidden}
.compare-bar .compare-fill{height:100%;border-radius:3px;transition:width 1s var(--md-easing-emphasized)}
.compare-bar .compare-value{min-width:48px;font-weight:600;color:var(--md-on-surface)}
.compare-bar.positive .compare-fill{background:var(--md-success)}
.compare-bar.neutral .compare-fill{background:var(--md-primary)}
.compare-bar.negative .compare-fill{background:var(--md-error)}

/* ========================================
   CALCULATOR — 平台串联操作区 & 注册钩子
   ======================================== */
.calc-actions{
  display:flex;gap:10px;flex-wrap:wrap;
  padding:14px 16px;border-top:1px solid var(--md-outline-subtle);
}
.calc-actions__btn{
  flex:1 1 0;min-width:140px;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:11px 14px;border-radius:10px;font-size:14px;font-weight:600;
  text-decoration:none;cursor:pointer;transition:all .18s var(--md-easing-standard);
  border:1px solid transparent;
}
.calc-actions__btn--outline{
  background:var(--md-surface-container-low);color:var(--md-primary);
  border-color:var(--md-outline-subtle);
}
.calc-actions__btn--outline:hover{background:var(--md-primary-container);transform:translateY(-1px)}
.calc-actions__btn--primary{
  background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-soft);
}
.calc-actions__btn--primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-medium)}

/* 注册钩子：温和、可关闭，不遮挡计算器 */
.calc-reg-cta{
  padding:0 16px 16px;
  animation:calcCtaIn .4s var(--md-easing-emphasized);
}
@keyframes calcCtaIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.calc-reg-cta__inner{
  position:relative;display:flex;align-items:center;gap:12px;
  padding:14px 16px;border-radius:12px;
  background:linear-gradient(120deg,rgba(99,102,241,.12),rgba(236,72,153,.12));
  border:1px solid rgba(99,102,241,.25);
}
.calc-reg-cta__icon{
  flex:0 0 auto;width:38px;height:38px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  background:var(--brand-gradient);color:#fff;font-size:18px;
}
.calc-reg-cta__text{flex:1 1 auto;min-width:0}
.calc-reg-cta__text strong{display:block;font-size:14px;color:var(--md-on-surface)}
.calc-reg-cta__text p{margin:2px 0 0;font-size:12px;color:var(--md-on-surface-muted)}
.calc-reg-cta__btn{
  flex:0 0 auto;padding:9px 16px;border-radius:9px;font-size:13px;font-weight:700;
  text-decoration:none;color:#fff;background:var(--brand-gradient);
  box-shadow:var(--shadow-soft);transition:transform .18s var(--md-easing-standard);
}
.calc-reg-cta__btn:hover{transform:translateY(-1px)}
.calc-reg-cta__close{
  position:absolute;top:6px;right:8px;width:22px;height:22px;border:none;
  background:none;color:var(--md-on-surface-muted);font-size:18px;line-height:1;
  cursor:pointer;border-radius:50%;
}
.calc-reg-cta__close:hover{background:rgba(0,0,0,.06);color:var(--md-on-surface)}
@media(max-width:768px){
  .calc-reg-cta__inner{flex-wrap:wrap}
  .calc-reg-cta__btn{flex:1 1 100%;text-align:center}
}

/* ========================================
   PRICING — 定价页（商品化）
   ======================================== */
.pricing-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:20px;max-width:980px;margin:24px auto 0;
}
.pricing-card{
  position:relative;background:var(--md-surface);border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-lg);padding:26px 22px;display:flex;flex-direction:column;
  transition:transform .2s var(--md-easing-standard),box-shadow .2s;
}
.pricing-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium)}
.pricing-card.featured{
  border:2px solid transparent;background:
    linear-gradient(var(--md-surface),var(--md-surface)) padding-box,
    var(--brand-gradient) border-box;box-shadow:var(--shadow-soft);
}
.pricing-card.current{outline:2px solid var(--md-primary)}
.pricing-flag{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--brand-gradient);color:#fff;font-size:12px;font-weight:700;
  padding:4px 12px;border-radius:20px;white-space:nowrap;
}
.pricing-flag.current-flag{background:var(--md-primary);top:auto;bottom:-12px}
.pricing-name{font-size:19px;margin-bottom:10px;color:var(--md-on-surface)}
.pricing-price{margin-bottom:16px}
.price-num{font-size:32px;font-weight:800;color:var(--md-on-surface)}
.price-unit{font-size:14px;color:var(--md-on-surface-muted);margin-left:4px}
.price-year{font-size:13px;color:var(--md-on-surface-muted);margin-top:4px}
.pricing-features{list-style:none;padding:0;margin:0 0 20px;flex:1}
.pricing-features li{
  display:flex;gap:8px;align-items:flex-start;font-size:14px;
  color:var(--md-on-surface-variant);padding:7px 0;border-bottom:1px dashed var(--md-outline-subtle);
}
.pricing-features li i{color:var(--md-primary);margin-top:3px}
.pricing-cta .btn{width:100%;justify-content:center}

/* 工作台会员中心卡片 */
.member-center-card{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin:18px 0 6px;padding:16px 20px;border-radius:var(--md-shape-lg);
  background:linear-gradient(120deg,rgba(99,102,241,.10),rgba(236,72,153,.10));
  border:1px solid rgba(99,102,241,.25);
}
.member-center-card.is-member{
  background:linear-gradient(120deg,rgba(34,197,94,.10),rgba(16,185,129,.10));
  border-color:rgba(16,185,129,.3);
}
.mc-left{display:flex;align-items:center;gap:14px;min-width:0}
.mc-badge{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;border-radius:20px;background:var(--brand-gradient);color:#fff;
  font-size:13px;font-weight:700;
}
.is-member .mc-badge{background:linear-gradient(120deg,#10B981,#059669)}
.mc-text strong{display:block;font-size:15px;color:var(--md-on-surface)}
.mc-text p{margin:2px 0 0;font-size:13px;color:var(--md-on-surface-muted)}
.mc-right{flex:0 0 auto}
@media(max-width:600px){
  .member-center-card{flex-direction:column;align-items:flex-start}
  .mc-right{width:100%}.mc-right .btn{width:100%;justify-content:center}
}

/* 货盘列表 — 会员优先曝光徽标 */
.vip-cargo-badge{
  display:inline-flex;align-items:center;gap:4px;
  font-size:11px;font-weight:700;color:#fff;
  background:linear-gradient(120deg,#6366F1,#EC4899);
  padding:3px 9px;border-radius:12px;margin-bottom:10px;
  box-shadow:0 2px 6px rgba(99,102,241,.3);
}

/* ========================================
   TEXT UTILITIES
   ======================================== */
.text-muted{color:var(--md-on-surface-muted)}
.text-danger{color:var(--md-error)!important}
.text-accent{color:var(--md-primary)!important}

/* ========================================
   SCROLL ANIMATIONS
   ======================================== */
.animate-on-scroll{transition:opacity .5s var(--md-easing-standard),transform .5s var(--md-easing-standard)}
.animate-on-scroll.visible{opacity:1;transform:translateY(0)}

/* ========================================
   MOBILE TOGGLE & RESPONSIVE NAV
   ======================================== */
.mobile-toggle{
  display:none;background:none;border:none;
  font-size:20px;cursor:pointer;color:var(--md-on-surface-variant);
  width:40px;height:40px;border-radius:50%;
  transition:all var(--md-duration-short) var(--md-easing-standard);
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.mobile-toggle:hover{background:rgba(0,0,0,.06);color:var(--md-on-surface)}

@media(max-width:1024px){
  .nav-link{padding:8px 12px;font-size:13px}
}

@media(max-width:768px){
  .mobile-toggle{display:flex;align-items:center;justify-content:center}
  .nav{
    display:flex;flex-direction:column;position:absolute;
    top:100%;left:0;right:0;
    background:var(--md-surface);
    border-bottom:1px solid var(--md-outline-subtle);
    padding:4px;box-shadow:var(--md-elevation-4);z-index:100;
    max-height:0;overflow:hidden;opacity:1;
    transition:max-height .3s var(--md-easing-standard),opacity .2s var(--md-easing-standard),padding .3s var(--md-easing-standard);
  }
  .nav.show{max-height:360px;opacity:1;padding:8px}
  .nav-link{width:100%;padding:12px 16px;border-radius:var(--md-shape-sm);color:var(--md-on-surface-variant);font-size:14px}
  .nav-link:hover{color:var(--md-on-surface);background:rgba(0,0,0,.04)}
  .header-actions .btn:not(.btn-icon){display:none}
  .header-inner{gap:8px}
}

@media(max-width:480px){
  .header-inner{height:56px}
  .logo{font-size:15px}
  .nav-link{padding:10px 14px;font-size:13px}
}

/* ========================================
   HS ACCORDION
   ======================================== */
.hs-accordion{display:flex;flex-direction:column;gap:8px}

.hs-accordion details{
  background:var(--md-surface);border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-md);overflow:hidden;
  transition:all var(--md-duration-medium) var(--md-easing-standard);
}
.hs-accordion details:hover{border-color:var(--md-primary)}

.hs-accordion summary{
  display:flex;align-items:center;justify-content:space-between;
  padding:clamp(12px,2vw,16px)clamp(16px,2.5vw,24px);
  cursor:pointer;background:var(--md-surface);
  transition:background var(--md-duration-short) var(--md-easing-standard);
  list-style:none;
}
.hs-accordion summary::-webkit-details-marker{display:none}
.hs-accordion details[open] summary{background:var(--md-primary-container);border-bottom:1px solid #A8CEF0}

.hs-accordion .acc-summary-left{display:flex;align-items:center;gap:clamp(12px,2vw,18px);flex:1;min-width:0}
.hs-accordion .acc-cat-num{font-size:15px;font-weight:500;color:var(--md-primary);min-width:40px}
.hs-accordion .acc-cat-name{font-size:15px;font-weight:500;color:var(--md-on-surface)}
.hs-accordion .acc-count{font-size:11px;font-weight:500;color:var(--md-success);background:var(--md-success-container);padding:3px 12px;border-radius:var(--md-shape-full);white-space:nowrap}
.hs-accordion .acc-arrow{color:var(--md-on-surface-muted);font-size:16px;transition:transform var(--md-duration-medium) var(--md-easing-standard);flex-shrink:0}
.hs-accordion details[open] .acc-arrow{transform:rotate(180deg);color:var(--md-primary)}

.hs-accordion .acc-content{
  padding:clamp(14px,2vw,18px)clamp(16px,2.5vw,24px);
  display:grid;grid-template-columns:repeat(2,1fr);gap:6px clamp(20px,3vw,28px);
}
@media(max-width:600px){.hs-accordion .acc-content{grid-template-columns:1fr}}

.hs-accordion .acc-chapter{
  display:flex;align-items:center;gap:10px;padding:8px 12px;
  border-radius:var(--md-shape-sm);
  transition:all var(--md-duration-short) var(--md-easing-standard);
  text-decoration:none;color:var(--md-on-surface-variant);font-size:13px;
}
.hs-accordion .acc-chapter:hover{background:rgba(13,59,102,.08);color:var(--md-primary)}
.hs-accordion .acc-chapter .acc-chapter-code{
  font-size:12px;font-weight:400;color:var(--md-on-surface-muted);min-width:36px;
}
.hs-accordion .acc-chapter:hover .acc-chapter-code{color:var(--md-primary)}

.hs-accordion .acc-empty{
  display:flex;align-items:center;gap:8px;padding:8px 12px;
  color:var(--md-on-surface-muted);font-size:13px;grid-column:1/-1;
}

/* ========================================
   UTILITY CLASSES
   ======================================== */
.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-30{margin-top:30px}.mt-40{margin-top:40px}
.mb-12{margin-bottom:12px}.mb-24{margin-bottom:24px}
.ml-auto{margin-left:auto}.ml-8{margin-left:8px}.mr-4{margin-right:4px}
.pt-0{padding-top:0}.pt-16{padding-top:16px}
.nav-icon{margin-right:4px;font-size:12px}
.footer-contact-note{margin-top:8px;font-size:11px;color:var(--md-on-surface-muted)}
.form-inline{display:inline}
.card-center-hint{text-align:center;padding:24px}
.page-h1{margin-bottom:24px;font-size:24px;font-weight:400}
.detail-remark td{font-size:13px;color:var(--md-on-surface-variant);padding-top:0}
.tr-clickable{cursor:pointer}
.card-max-700{max-width:700px}.card-max-750{max-width:750px}
.hs-page-title{font-size:28px;font-weight:400;color:var(--md-on-surface);margin-bottom:8px}
.hs-page-desc{font-size:14px;color:var(--md-on-surface-variant);margin-bottom:32px}
.hs-search-wrap{max-width:900px;margin:0 auto 16px;position:relative}
.hs-search-input-padded{padding-right:120px}
.hs-search-btn-abs{position:absolute;right:6px;top:6px;padding:10px 28px;font-size:15px}
.hs-search-btn-icon{font-size:13px}
.hs-error-hint{font-size:14px;font-weight:500;margin-bottom:24px}
.hs-tool-card{max-width:900px;margin:0 auto;background:var(--md-surface);border:1px solid var(--md-outline-subtle);border-radius:var(--md-shape-md);padding:24px}
.hs-tool-card-mt{max-width:900px;margin:20px auto 0}
.hs-tool-title{font-size:15px;font-weight:500;color:var(--md-on-surface);margin:0}
.hs-section-title{font-size:22px;font-weight:400;color:var(--md-on-surface);margin-bottom:6px}
.hs-section-desc{color:var(--md-on-surface-variant);margin-bottom:32px;font-size:13px}
.hs-section-desc-sm{color:var(--md-on-surface-variant);margin:0;font-size:13px}
.hs-accordion-wrap{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:8px}
.hs-accordion-summary{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;cursor:pointer;background:var(--md-surface);transition:background var(--md-duration-short) var(--md-easing-standard);list-style:none}
.hs-accordion-summary-left{display:flex;align-items:center;gap:16px}
.hs-acc-cat-num{color:var(--md-primary);font-weight:500;min-width:40px;font-size:15px}
.hs-acc-cat-name{color:var(--md-on-surface);font-size:15px;font-weight:500}
.hs-acc-arrow{color:var(--md-on-surface-muted);transition:transform var(--md-duration-medium) var(--md-easing-standard);font-size:14px}
.hs-acc-content{padding:20px 24px;display:grid;grid-template-columns:1fr 1fr;gap:10px 36px;border-top:1px solid var(--md-outline-subtle)}
.hs-acc-chapter-row{display:flex;gap:12px;padding:10px 8px;border-radius:var(--md-shape-sm);transition:background var(--md-duration-short) var(--md-easing-standard)}
.hs-acc-chapter-code{color:var(--md-on-surface-muted);font-weight:400;font-size:13px}
.hs-acc-empty-row{display:flex;gap:12px;padding:10px 8px;color:var(--md-on-surface-muted);grid-column:1/-1}
.hs-acc-empty-icon{font-size:13px}.hs-acc-empty-text{font-size:13px}
.hs-manifest-row{display:flex;gap:10px}
.hs-manifest-label{display:block;font-size:12px;font-weight:500;color:var(--md-on-surface-variant);margin-bottom:8px}
.hs-manifest-card{background:var(--md-surface);border:1px solid var(--md-outline-subtle);border-radius:var(--md-shape-md);padding:24px;text-align:left}
.hs-manifest-header{display:flex;align-items:center;gap:8px;margin-bottom:18px}
.hs-manifest-header i{color:var(--md-primary);font-size:18px}
.hs-manifest-list{display:flex;flex-direction:column;gap:14px}
.hs-input-sm{font-size:12px}
.hs-customs-row{display:flex;gap:8px}
.hs-customs-input{flex:1}.hs-customs-btn-icon{font-size:12px}
.hs-section-pt{padding-top:32px}

.error-404-num{font-size:64px;font-weight:400;margin:20px 0;color:var(--md-on-surface)}
.admin-select-input{padding:8px 12px;border:1px solid var(--md-outline-variant);border-radius:var(--md-shape-sm);font-size:14px}
.admin-cat-en{color:var(--md-on-surface-muted);font-size:13px;margin-left:8px}
.lp-route-name{margin-left:8px}
.bid-remark td{font-size:13px;color:var(--md-on-surface-variant);padding-top:0}
.form-section-divider{font-size:16px;font-weight:500;margin:20px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--md-outline-subtle)}
.empty-state-btn{margin-top:12px}
.form-card-wide-700{max-width:700px}.form-card-wide-750{max-width:750px}

/* ========================================
   TRADE DATA PANEL — 贸易数据面板
   ======================================== */
.trade-heat-bar {
  height: 4px;
  background: var(--md-surface-container);
  border-radius: 2px;
  overflow: hidden;
}
.trade-heat-fill {
  height: 100%;
  border-radius: 2px;
  transition: width 0.8s cubic-bezier(0.2, 0, 0, 1);
}
.trade-bar-chart {
  display: flex;
  align-items: flex-end;
  gap: clamp(8px, 2vw, 16px);
  height: 140px;
  padding: 0 4px;
}
.trade-bar-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 40px;
}
.trade-bar-val {
  font-size: 10px;
  font-weight: 600;
  color: var(--md-on-surface-variant);
}
.trade-bar {
  width: 100%;
  max-width: 60px;
  border-radius: 6px 6px 2px 2px;
  min-height: 4px;
  transition: height 0.6s cubic-bezier(0.2, 0, 0, 1);
}
.trade-bar.active {
  background: var(--md-primary);
}
.trade-bar-label {
  font-size: 10px;
  color: var(--md-on-surface-muted);
}

.trade-partner-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.trade-partner-name {
  width: 80px;
  font-size: 12px;
  color: var(--md-on-surface);
  text-align: right;
  flex-shrink: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.trade-partner-bar-wrap {
  flex: 1;
  min-width: 60px;
  height: 18px;
  background: var(--md-surface-container);
  border-radius: 9px;
  overflow: hidden;
}
.trade-partner-bar {
  height: 100%;
  border-radius: 9px;
  transition: width 0.8s cubic-bezier(0.2, 0, 0, 1);
  min-width: 2px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 6px;
}
.trade-partner-bar .pct-label {
  font-size: 10px;
  font-weight: 600;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.trade-partner-value {
  font-size: 11px;
  color: var(--md-on-surface-variant);
  width: 70px;
  flex-shrink: 0;
}

.trade-source-note {
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid var(--md-outline-subtle);
  font-size: 10px;
  color: var(--md-on-surface-muted);
  display: flex;
  align-items: center;
  gap: 4px;
}

@media (max-width: 600px) {
  .trade-bar-chart {
    height: 100px;
    gap: 6px;
  }
  .trade-bar-col {
    min-width: 30px;
  }
  .trade-bar-val {
    font-size: 9px;
  }
  .trade-partner-name {
    width: 60px;
    font-size: 11px;
  }
  .trade-partner-value {
    width: 50px;
    font-size: 10px;
  }
}

/* ========================================
   PRINT STYLES
   ======================================== */
@media print{
  .header,.footer,.btn,.mobile-toggle,.btn-back-to-top{display:none!important}
  body{background:#fff;font-size:12pt}
  .section{padding:12px 0}
  .container{max-width:100%;padding:0}
  .freight-table-wrap,.hs-table-wrap{overflow-x:visible;border:none;box-shadow:none}
}

@media(max-width:600px){
  .hs-acc-content{grid-template-columns:1fr}
}

/* ========================================
   HS CATEGORY CARD GRID — 可展开卡片（零 JS 依赖）
   ======================================== */
.hs-cat-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(280px, 38vw, 340px), 1fr));
  gap: clamp(14px, 2.5vw, 20px);
  max-width: 1100px;
  margin: 0 auto;
}

.hs-cat-card{
  background: var(--md-surface);
  border: 1px solid var(--md-outline-subtle);
  border-radius: var(--md-shape-md);
  overflow: hidden;
  transition: all .2s var(--md-easing-standard);
  animation:ueRevealUp .4s var(--md-easing-emphasized) both;
}
.hs-cat-card:nth-child(2){animation-delay:.06s}
.hs-cat-card:nth-child(3){animation-delay:.12s}
.hs-cat-card:nth-child(4){animation-delay:.18s}
.hs-cat-card:nth-child(5){animation-delay:.24s}
.hs-cat-card:nth-child(6){animation-delay:.30s}
.hs-cat-card:hover{
  border-color: var(--md-primary);
  box-shadow: var(--md-elevation-2);
}
.hs-cat-card.open{
  border-color: var(--md-primary);
  box-shadow: 0 0 0 1px rgba(13,59,102,.15);
}

/* ── 卡片头部（点击展开） ── */
.hs-cat-header{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  cursor: pointer;
  user-select: none;
  transition: background .15s, padding-left .15s;
  -webkit-tap-highlight-color: transparent;
}
.hs-cat-header:hover{
  background: var(--md-surface-container-low);
  padding-left:20px;
}
.hs-cat-card.open .hs-cat-header{
  background: var(--md-primary-container);
  border-bottom: 1px solid rgba(13,59,102,.15);
}

.hs-cat-num{
  width: 36px; height: 28px; flex-shrink: 0;
  border-radius: 6px;
  background: var(--md-primary-container);
  color: var(--md-primary);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700;
  transition: all .15s;
}
.hs-cat-card.open .hs-cat-num{
  background: var(--md-primary);
  color: #fff;
}

.hs-cat-title{
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: 2px;
}
.hs-cat-name{
  font-size: 14px; font-weight: 500;
  color: var(--md-on-surface);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.hs-cat-card.open .hs-cat-name{
  color: var(--md-on-primary-container);
}
.hs-cat-sub{
  font-size: 11px; color: var(--md-on-surface-muted);
}

.hs-cat-arrow{
  flex-shrink: 0;
  font-size: 12px; color: var(--md-on-surface-variant);
  transition: transform .25s var(--md-easing-standard);
}
.hs-cat-card.open .hs-cat-arrow{
  transform: rotate(180deg);
  color: var(--md-primary);
}

/* ── 卡片内容（章节列表） ── */
.hs-cat-body{
  display: none;
  padding: 8px 12px;
  max-height: 380px;
  overflow-y: auto;
  color: var(--md-on-surface);
  background: var(--md-surface);
}
.hs-cat-card.open .hs-cat-body{
  display: block;
  animation: hsCatExpand .25s var(--md-easing-standard);
}
@keyframes hsCatExpand{
  from { opacity: 1; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.hs-cat-body::-webkit-scrollbar{ width: 4px; }
.hs-cat-body::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.1); border-radius: 2px; }

/* ── 章节行 ── */
.hs-chapter-row{
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  border-radius: var(--md-shape-sm);
  text-decoration: none; color: var(--md-on-surface);
  margin-bottom: 4px;
  transition: background .15s, box-shadow .15s, transform .15s;
  border: 1px solid transparent;
}
.hs-chapter-row:last-child{ margin-bottom: 0; }
.hs-chapter-row:hover{
  background: var(--md-surface-container-low);
  border-color: var(--md-outline-subtle);
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  transform:translateX(3px);
}

.hs-ch-code{
  width: 48px; flex-shrink: 0;
  font-size: 12px; font-weight: 600; color: var(--md-primary);
  padding: 3px 6px;
  background: var(--md-primary-container);
  border-radius: 3px; text-align: center;
}
.hs-chapter-row:hover .hs-ch-code{
  background: var(--md-primary);
  color: #fff;
}

.hs-ch-name{
  flex: 1; min-width: 0;
  font-size: 13px; color: var(--md-on-surface);
  line-height: 1.4;
}
.hs-ch-arrow{
  flex-shrink: 0;
  font-size: 10px; color: var(--md-on-surface-variant);
  transform: translateX(0);
  transition: transform .15s;
}
.hs-chapter-row:hover .hs-ch-arrow{
  transform: translateX(3px);
}

.hs-ch-empty{
  padding: 24px; text-align: center;
  font-size: 13px; color: var(--md-on-surface-muted);
}

.hs-chapter-row--empty{
  opacity: 0.55; cursor: default;
  text-decoration: none; color: var(--md-on-surface);
}
.hs-chapter-row--empty:hover{
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.hs-chapter-row--empty .hs-ch-code{
  background: var(--md-surface-container-low);
}
.hs-chapter-row--empty:hover .hs-ch-code{
  background: var(--md-surface-container-low);
  color: inherit;
}
.hs-chapter-row--empty small{
  font-size: 11px; color: var(--md-on-surface-muted);
}

/* 响应式 */
@media(max-width: 768px){
  .hs-cat-grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .hs-cat-header{ padding: 12px 14px; }
  .hs-cat-name{ font-size: 13px; }
  .hs-cat-body{ max-height: 300px; }
}
@media(max-width: 480px){
  .hs-cat-header{ padding: 10px 12px; gap: 8px; }
  .hs-cat-num{ width: 30px; height: 24px; font-size: 10px; }
  .hs-cat-name{ font-size: 12px; }
  .hs-chapter-row{ padding: 8px 10px; gap: 8px; }
  .hs-ch-code{ font-size: 11px; width: 40px; }
  .hs-ch-name{ font-size: 12px; }
}

/* ========================================
   HS MASTER-DETAIL — 左侧类目列表 + 右侧章节面板（保留兼容）
   ======================================== */
.hs-cards-section-intro{
  text-align:center;
  margin-bottom:clamp(28px,4vw,40px);
}
.hs-cards-section-intro .section-title{
  font-size:clamp(22px,3vw,28px);
  margin-bottom:8px;
}
.hs-cards-section-intro .section-desc{
  font-size:14px;
  color:var(--md-on-surface-muted);
  max-width:560px;
  margin:0 auto 20px;
  line-height:1.6;
}

/* 主容器：左列表 + 右面板 */
.hs-master-detail{
  display:flex;
  gap:0;
  max-width:1060px;margin:0 auto;
  background:var(--md-surface);
  border-radius:var(--md-shape-lg);
  border:1px solid var(--md-outline-subtle);
  overflow:hidden;
  min-height:420px;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}

/* ── 左侧栏 ── */
.hs-md-sidebar{
  width:248px;flex-shrink:0;
  background:var(--md-surface-dim);
  border-right:1px solid var(--md-outline-subtle);
  overflow-y:auto;
  padding:8px 0;
}
.hs-md-sidebar::-webkit-scrollbar{width:4px}
.hs-md-sidebar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:2px}
.hs-md-sidebar::-webkit-scrollbar-track{background:transparent}

.hs-md-tab{
  display:flex;align-items:center;gap:10px;
  width:100%;
  padding:10px 16px;
  border:none;
  background:transparent;
  cursor:pointer;
  text-align:left;
  font-family:inherit;
  transition:background .15s,border-color .15s,padding-left .15s;
  border-left:3px solid transparent;
  position:relative;
}
.hs-md-tab:hover{background:var(--md-surface-container-low);padding-left:20px}
.hs-md-tab.active{
  background:var(--md-surface);
  border-left-color:var(--md-primary);
}
.hs-md-tab-num{
  width:28px;height:22px;flex-shrink:0;
  border-radius:4px;
  background:var(--md-primary-container);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;
  color:var(--md-primary);
  transition:background .15s,color .15s;
}
.hs-md-tab.active .hs-md-tab-num{
  background:var(--md-primary);
  color:#fff;
}
.hs-md-tab-text{
  flex:1;min-width:0;
  display:flex;flex-direction:column;gap:2px;
}
.hs-md-tab-name{
  font-size:13px;font-weight:400;color:var(--md-on-surface);
  line-height:1.4;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  transition:color .15s;
}
.hs-md-tab.active .hs-md-tab-name{color:var(--md-primary);font-weight:500}
.hs-md-tab-meta{
  font-size:10px;color:var(--md-on-surface-muted);
}

/* ── 右侧面板 ── */
.hs-md-panel{
  flex:1;min-width:0;
  padding:20px 28px;
  overflow-y:auto;
}
.hs-md-panel::-webkit-scrollbar{width:5px}
.hs-md-panel::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:3px}
.hs-md-panel::-webkit-scrollbar-track{background:transparent}

.hs-md-content{display:none}
.hs-md-content.active{display:block}

/* ── 章节行：充足间距，每行完整可点 ── */
.hs-md-row{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;
  border-radius:var(--md-shape-sm);
  text-decoration:none;
  color:inherit;
  margin-bottom:6px;
  transition:background .15s,box-shadow .15s,transform .15s;
  border:1px solid transparent;
}
.hs-md-row:last-child{margin-bottom:0}
.hs-md-row:hover{
  background:var(--md-surface-container-low);
  border-color:var(--md-outline-subtle);
  box-shadow:0 1px 3px rgba(0,0,0,.04);
  transform:translateX(3px);
}
.hs-md-code{
  width:52px;flex-shrink:0;
  font-size:13px;font-weight:600;color:var(--md-primary);
  padding:3px 6px;
  background:var(--md-primary-container);
  border-radius:3px;
  text-align:center;
}
.hs-md-name{
  flex:1;min-width:0;
  font-size:14px;color:var(--md-on-surface);
  line-height:1.5;
}
.hs-md-arrow{
  flex-shrink:0;
  font-size:11px;
  color:var(--md-on-surface-variant);
  transform:translateX(0);
  transition:transform .15s;
}
.hs-md-row:hover .hs-md-arrow{
  transform:translateX(3px);
}
.hs-md-empty{
  padding:40px 20px;
  text-align:center;
  font-size:14px;
  color:var(--md-on-surface-muted);
}

/* 响应式 */
@media(max-width:768px){
  .hs-master-detail{flex-direction:column;min-height:auto}
  .hs-md-sidebar{
    width:100%;max-height:200px;
    border-right:none;border-bottom:1px solid var(--md-outline-subtle);
    display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
    padding:8px 4px;
    gap:4px;
  }
  .hs-md-tab{
    flex-shrink:0;width:auto;
    padding:8px 12px;
    border-left:none;border-bottom:2px solid transparent;
    border-radius:6px 6px 0 0;
  }
  .hs-md-tab.active{
    border-left-color:transparent;
    border-bottom-color:var(--md-primary);
    background:var(--md-surface);
  }
  .hs-md-tab-name{max-width:100px;font-size:12px}
  .hs-md-tab-meta{display:none}
  .hs-md-panel{padding:16px 14px}
}
@media(max-width:480px){
  .hs-md-sidebar{padding:6px 2px;max-height:160px}
  .hs-md-tab{padding:6px 10px;gap:6px}
  .hs-md-tab-num{width:24px;height:18px;font-size:9px}
  .hs-md-tab-name{font-size:11px}
  .hs-md-row{padding:10px 12px;gap:8px}
  .hs-md-code{font-size:12px;width:44px}
  .hs-md-name{font-size:13px}
  .hs-md-panel{padding:12px 10px}
}

/* ========================================
   RATE SIMPLE TABLE — 协定税率/RCEP简洁列表
   ======================================== */
.rate-simple-table{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:10px;
}
.rate-simple-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 16px;
  background:var(--md-surface);
  border-radius:var(--md-shape-sm);
  border:1px solid var(--md-outline-subtle);
  transition:box-shadow .2s, transform .2s;
}
.rate-simple-row:hover{
  box-shadow:var(--md-elevation-2);
  transform:translateY(-1px);
}
.rate-simple-name{
  font-size:14px;font-weight:500;
  color:var(--md-on-surface);
  white-space:nowrap;
}
.rate-simple-val{
  font-size:18px;font-weight:700;
  color:var(--md-primary);
  flex-shrink:0;
}
@media(max-width:480px){
  .rate-simple-table{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .rate-simple-row{padding:8px 12px}
  .rate-simple-name{font-size:13px}
  .rate-simple-val{font-size:16px}
}

/* ========================================
   HS CODE HELP / DISCUSSION — 互助问答（社区投票版）
   ======================================== */

/* 发布求助卡片 */
.help-post-card{
  background:var(--md-surface);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-md);
  padding:clamp(16px,2.5vw,24px);
  box-shadow:var(--md-elevation-1);
}

/* 求助列表卡片 */
.help-query-list{
  display:flex;flex-direction:column;gap:8px;
}
.help-query-card{
  display:flex;align-items:center;gap:14px;
  background:var(--md-surface);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-md);
  padding:clamp(14px,2vw,20px);
  text-decoration:none;color:inherit;
  transition:all var(--md-duration-short) var(--md-easing-standard);
  animation:ueRevealUp .4s var(--md-easing-emphasized) both;
}
.help-query-card:nth-child(2){animation-delay:.06s}
.help-query-card:nth-child(3){animation-delay:.12s}
.help-query-card:nth-child(4){animation-delay:.18s}
.help-query-card:nth-child(5){animation-delay:.24s}
.help-query-card:hover{
  border-color:var(--md-primary);
  box-shadow:var(--md-elevation-2);
  color:inherit;text-decoration:none;
}
.help-query-left{flex-shrink:0;min-width:80px}
.help-query-main{flex:1;min-width:0}
.help-query-arrow{flex-shrink:0;color:var(--md-on-surface-muted);font-size:14px}
.help-query-card:hover .help-query-arrow{color:var(--md-primary)}

.help-status-badge{
  display:inline-flex;align-items:center;gap:4px;
  padding:4px 12px;border-radius:var(--md-shape-full);
  font-size:11px;font-weight:500;
}
.help-status-badge.open{background:var(--md-warning-container);color:var(--md-warning)}
.help-status-badge.closed{background:var(--md-surface-container);color:var(--md-on-surface-variant)}

.help-query-title{
  font-size:15px;font-weight:500;color:var(--md-on-surface);
  margin-bottom:4px;line-height:1.4;
}
.help-query-desc{
  font-size:13px;color:var(--md-on-surface-variant);
  margin-bottom:8px;line-height:1.5;
}
.help-answer-preview{
  font-size:13px;color:var(--md-primary);margin-bottom:8px;
  display:flex;align-items:center;gap:6px;
}

.help-query-meta{
  display:flex;gap:16px;flex-wrap:wrap;
  font-size:11px;color:var(--md-on-surface-muted);
}
.help-query-meta i{opacity:.6}

/* 详情页 */
.help-detail-card{
  background:var(--md-surface);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-md);
  padding:clamp(20px,3vw,28px);
}
.help-detail-header{
  display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;flex-wrap:wrap;
}
.help-detail-title{
  font-size:clamp(20px,2.5vw,24px);font-weight:500;
  color:var(--md-on-surface);flex:1;min-width:200px;
}
.help-detail-desc{
  font-size:14px;color:var(--md-on-surface-variant);
  line-height:1.7;margin-bottom:16px;
  padding:14px 18px;background:var(--md-surface-container-low);
  border-radius:var(--md-shape-sm);
  display:flex;gap:8px;
}
.help-detail-meta{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:13px;color:var(--md-on-surface-variant);
  padding-bottom:16px;border-bottom:1px solid var(--md-outline-subtle);
  margin-bottom:16px;
}

/* ── 社区推荐编码（投票≥3的一号建议） ── */
.help-top-suggestion{
  margin-top:20px;padding:clamp(16px,2vw,24px);
  background:linear-gradient(135deg,var(--md-primary-container),rgba(168,206,240,.4));
  border:1px solid rgba(13,59,102,.18);
  border-radius:var(--md-shape-md);
}
.help-top-badge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:500;color:var(--md-primary);
  margin-bottom:12px;
}
.help-top-badge i{color:#F9A825}
.help-top-body{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px;
}
.help-top-code{
  font-size:20px;font-weight:600;color:var(--md-on-primary-container);
  background:var(--md-primary);padding:4px 16px;border-radius:var(--md-shape-sm);
  letter-spacing:1px;
}
.help-top-name{
  font-size:15px;font-weight:400;color:var(--md-on-surface);
}
.help-top-meta{
  font-size:12px;color:var(--md-on-surface-variant);
}
.help-top-note{
  margin-top:6px;font-size:12px;color:var(--md-on-surface-muted);font-style:italic;
}

/* ── HS编码建议卡片（回复内嵌） ── */
.help-suggestion-card{
  margin:8px 0 12px;
  padding:14px 18px;
  background:var(--md-surface-container-low);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-sm);
}
.help-reply-item.has-suggestion{
  background:var(--md-surface-container-low);
  border-radius:var(--md-shape-sm);
  padding:14px;
  margin:4px 0;
  border-bottom:none;
}
.help-reply-item.top-voted{
  background:rgba(27,122,45,.04);
  border:1px solid rgba(27,122,45,.15);
}
.help-suggestion-label{
  font-size:11px;font-weight:500;color:var(--md-primary);
  margin-bottom:8px;display:flex;align-items:center;gap:4px;
}
.help-suggestion-code-row{
  display:flex;align-items:center;gap:10px;margin-bottom:6px;
}
.help-suggestion-code-row code{
  font-size:16px;font-weight:600;color:var(--md-primary);
  background:var(--md-primary-container);
  padding:2px 12px;border-radius:4px;
}
.help-suggestion-code-row span{
  font-size:14px;color:var(--md-on-surface);
}
.help-suggestion-note{
  font-size:13px;color:var(--md-on-surface-variant);
  margin-top:8px;padding-top:8px;
  border-top:1px solid var(--md-outline-subtle);
  line-height:1.6;
}

/* ── 社区认可徽章 ── */
.help-community-verified{
  display:inline-flex;align-items:center;gap:3px;
  font-size:11px;color:var(--md-success);
  background:var(--md-success-container);
  padding:2px 8px;border-radius:var(--md-shape-full);
}

/* ── 投票按钮 ── */
.help-vote-row{
  margin-top:10px;display:flex;align-items:center;gap:8px;
}
.help-vote-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 14px;border-radius:var(--md-shape-full);
  border:1px solid var(--md-outline-variant);
  background:var(--md-surface);color:var(--md-on-surface-variant);
  cursor:pointer;font-size:12px;font-family:inherit;
  transition:all var(--md-duration-short) var(--md-easing-standard);
}
.help-vote-btn:hover:not(:disabled){
  border-color:var(--md-primary);color:var(--md-primary);
  background:var(--md-primary-container);
}
.help-vote-btn.voted{
  background:var(--md-primary);color:var(--md-on-primary);
  border-color:var(--md-primary);
}
.help-vote-btn:disabled{opacity:.5;cursor:not-allowed}
.help-vote-count{font-weight:500}

/* ── 回复区域 ── */
.help-reply-empty{
  text-align:center;padding:clamp(24px,4vw,40px);
  color:var(--md-on-surface-muted);font-size:14px;
}
.help-reply-list{display:flex;flex-direction:column;gap:0}
.help-reply-item{
  display:flex;gap:14px;padding:14px 0;
  border-bottom:1px solid var(--md-outline-subtle);
}
.help-reply-item:last-child{border-bottom:none}
.help-reply-avatar{flex-shrink:0}
.help-reply-body{flex:1;min-width:0}
.help-reply-header{
  display:flex;align-items:center;gap:10px;margin-bottom:6px;
  font-size:13px;flex-wrap:wrap;
}
.help-reply-content{
  font-size:14px;color:var(--md-on-surface);line-height:1.7;
}

/* ── 回复表单 ── */
.help-reply-form-card{
  margin-top:24px;padding:clamp(16px,2vw,24px);
  background:var(--md-surface);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-md);
}
.help-suggest-fields{
  margin-top:8px;
}
.help-suggest-toggle{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;color:var(--md-primary);cursor:pointer;
  padding:6px 12px;border-radius:var(--md-shape-full);
  transition:all var(--md-duration-short);
  user-select:none;border:1px solid transparent;
}
.help-suggest-toggle:hover{
  background:var(--md-primary-container);
  border-color:var(--md-primary-light);
}

/* ── 帖主操作区 ── */
.help-owner-actions{
  margin-top:16px;padding:12px 18px;
  background:var(--md-surface-container-low);
  border-radius:var(--md-shape-sm);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  border:1px solid var(--md-outline-subtle);
}

@media(max-width:768px){
  .help-query-card{flex-direction:column;align-items:flex-start;gap:8px}
  .help-query-left{min-width:0}
  .help-query-arrow{display:none}
  .help-query-meta{gap:10px}
  .help-reply-item{gap:10px}
  .help-top-body{flex-direction:column;align-items:flex-start}
}

/* ── 全站参考提醒横幅 ── */
.global-notice{
  background:var(--md-warning-container);
  border-bottom:1px solid rgba(140,88,0,.18);
  text-align:center;
  padding:10px 16px;
  font-size:13px;
  color:var(--md-warning);
  font-weight:500;
  letter-spacing:.02em;
  position:relative;
  z-index:9;
  animation:uePopIn .4s var(--md-easing-emphasized);
}
.global-notice i{
  margin-right:6px;
}

/* ========================================
   智能触发模态弹窗 (Smart Modal) v2 — 专业向导式
   ======================================== */
.smart-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(12,14,24,.62);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s ease;
  padding: 20px;
}
.smart-modal-overlay.active {
  opacity: 1;
}
.smart-modal-card {
  background: var(--md-surface);
  border-radius: 24px;
  max-width: 520px;
  width: 100%;
  box-shadow: 0 24px 80px rgba(0,0,0,.25), 0 8px 24px rgba(0,0,0,.12);
  transform: translateY(16px) scale(.96);
  transition: transform .35s cubic-bezier(.15,.75,.35,1);
  text-align: left;
  overflow: hidden;
  position: relative;
}
.smart-modal-overlay.active .smart-modal-card {
  transform: translateY(0) scale(1);
}

/* 顶部色条 + 图标区域 */
.smart-modal-header-bar {
  padding: 28px 32px 0;
  position: relative;
}
.smart-modal-graphic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  font-size: 26px;
  margin-bottom: 16px;
  position: relative;
}
.smart-modal-graphic.success {
  background: linear-gradient(135deg, #D1FAE5, #A7F3D0);
  color: #065F46;
}
.smart-modal-graphic.warning {
  background: linear-gradient(135deg, #FEF3C7, #FDE68A);
  color: #92400E;
}
.smart-modal-graphic.danger {
  background: linear-gradient(135deg, #FEE2E2, #FECACA);
  color: #991B1B;
}
.smart-modal-graphic.info {
  background: linear-gradient(135deg, #DBEAFE, #BFDBFE);
  color: #1E40AF;
}

/* 进度步骤条 */
.smart-modal-steps {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
}
.smart-modal-step-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--md-outline-variant);
  transition: all .3s;
}
.smart-modal-step-dot.active {
  background: var(--md-primary);
  box-shadow: 0 0 0 3px rgba(13,59,102,.18);
  transform: scale(1.25);
}

.smart-modal-body {
  padding: 4px 32px 8px;
}
.smart-modal-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--md-on-surface);
  margin: 0 0 10px;
  line-height: 1.35;
  letter-spacing: -0.3px;
}
.smart-modal-text {
  font-size: 14px;
  color: var(--md-on-surface-variant);
  line-height: 1.7;
  margin: 0;
}
.smart-modal-text strong {
  color: var(--md-on-surface);
  font-weight: 600;
}
.smart-modal-text .highlight-tag {
  display: inline-block;
  background: var(--md-primary-container);
  color: var(--md-on-primary-container);
  padding: 2px 10px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 600;
  margin: 0 2px;
}

/* 数据亮点卡片（弹窗内） */
.smart-modal-data-card {
  margin: 16px 0;
  padding: 14px 18px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 13px;
}
.smart-modal-data-card.success-card {
  background: linear-gradient(135deg, #ECFDF5, #D1FAE5);
  border: 1px solid rgba(6,95,70,.12);
  color: #065F46;
}
.smart-modal-data-card.warning-card {
  background: linear-gradient(135deg, #FFFBEB, #FEF3C7);
  border: 1px solid rgba(146,64,14,.12);
  color: #92400E;
}
.smart-modal-data-card.danger-card {
  background: linear-gradient(135deg, #FEF2F2, #FEE2E2);
  border: 1px solid rgba(153,27,27,.12);
  color: #991B1B;
}
.smart-modal-data-card .data-card-icon {
  font-size: 28px;
  flex-shrink: 0;
  opacity: .8;
}
.smart-modal-data-card .data-card-info {
  flex: 1;
  min-width: 0;
}
.smart-modal-data-card .data-card-value {
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 2px;
}
.smart-modal-data-card .data-card-label {
  font-size: 12px;
  opacity: .75;
}

/* 弹窗操作区 */
.smart-modal-actions {
  display: flex;
  gap: 12px;
  padding: 20px 32px 28px;
  align-items: center;
}
.smart-modal-actions .btn {
  font-size: 14px;
  padding: 11px 24px;
  border-radius: var(--md-shape-full);
  font-weight: 600;
  text-decoration: none;
  transition: all .2s;
  letter-spacing: 0;
}
.smart-modal-actions .smart-modal-primary-btn {
  flex: 1;
  text-align: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(13,59,102,.3);
}
.smart-modal-actions .smart-modal-primary-btn:hover {
  box-shadow: 0 6px 20px rgba(13,59,102,.4);
  transform: translateY(-1px);
}
.smart-modal-dismiss {
  background: none;
  border: none;
  color: var(--md-on-surface-variant);
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  padding: 10px 16px;
  border-radius: var(--md-shape-full);
  transition: all .15s;
  white-space: nowrap;
  font-family: inherit;
}
.smart-modal-dismiss:hover {
  color: var(--md-on-surface);
  background: var(--md-surface-container);
}

/* 关闭按钮 (右上角X) */
.smart-modal-close-x {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: var(--md-surface-container);
  color: var(--md-on-surface-variant);
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .15s;
  z-index: 2;
}
.smart-modal-close-x:hover {
  background: var(--md-surface-container-high);
  color: var(--md-on-surface);
}

/* ========================================
   智能触发内联推荐卡片 (Inline Smart CTA) v2
   用于搜索结果页的智能工具推荐 — 数据驱动 + 强视觉
   ======================================== */
.smart-cta-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.smart-cta-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: var(--md-shape-lg);
  border: 1px solid var(--md-outline-subtle);
  background: var(--md-surface);
  text-decoration: none;
  color: inherit;
  transition: all .25s ease;
  cursor: pointer;
  overflow: hidden;
  position: relative;
  animation:ueRevealUp .45s var(--md-easing-emphasized) both;
}
.smart-cta-card:nth-child(2){animation-delay:.08s}
.smart-cta-card:nth-child(3){animation-delay:.16s}
.smart-cta-card:hover {
  border-color: var(--md-primary);
  box-shadow: 0 8px 30px rgba(13,59,102,.1), 0 2px 8px rgba(0,0,0,.06);
  transform: translateY(-2px);
  text-decoration: none;
  color: inherit;
}
.smart-cta-card:active {
  transform: translateY(0);
}

/* 卡片顶部色条 */
.smart-cta-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  border-radius: 4px 4px 0 0;
  transition: height .2s;
}
.smart-cta-card:hover::before {
  height: 5px;
}
.smart-cta-card.cta-success::before {
  background: linear-gradient(90deg, #059669, #10B981);
}
.smart-cta-card.cta-warning::before {
  background: linear-gradient(90deg, #D97706, #F59E0B);
}
.smart-cta-card.cta-info::before {
  background: linear-gradient(90deg, #2563EB, #3B82F6);
}
.smart-cta-card.cta-accent::before {
  background: linear-gradient(90deg, #7C3AED, #8B5CF6);
}

/* 卡片内容区 */
.smart-cta-card-inner {
  padding: 20px 22px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.smart-cta-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}
.smart-cta-card.cta-success .smart-cta-icon-wrap {
  background: linear-gradient(135deg, #D1FAE5, #A7F3D0);
}
.smart-cta-card.cta-warning .smart-cta-icon-wrap {
  background: linear-gradient(135deg, #FEF3C7, #FDE68A);
}
.smart-cta-card.cta-info .smart-cta-icon-wrap {
  background: linear-gradient(135deg, #DBEAFE, #BFDBFE);
}
.smart-cta-card.cta-accent .smart-cta-icon-wrap {
  background: linear-gradient(135deg, #EDE9FE, #DDD6FE);
}

.smart-cta-content {
  flex: 1;
  min-width: 0;
}
.smart-cta-content h4 {
  font-size: 15px;
  font-weight: 600;
  color: var(--md-on-surface);
  margin: 0 0 6px;
  line-height: 1.35;
}
.smart-cta-content p {
  font-size: 13px;
  color: var(--md-on-surface-variant);
  margin: 0;
  line-height: 1.55;
}

/* 数据亮点行 */
.smart-cta-stats {
  display: flex;
  gap: 16px;
  padding: 12px 22px 14px;
  border-top: 1px solid var(--md-outline-subtle);
  background: var(--md-surface-container-low);
}
.smart-cta-stat-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--md-on-surface-variant);
}
.smart-cta-stat-item .stat-value {
  font-weight: 700;
  font-size: 14px;
}
.smart-cta-card.cta-success .stat-value { color: #059669; }
.smart-cta-card.cta-warning .stat-value { color: #D97706; }
.smart-cta-card.cta-info .stat-value { color: #2563EB; }
.smart-cta-card.cta-accent .stat-value { color: #7C3AED; }

/* 底部 CTA 按钮条 */
.smart-cta-action-bar {
  padding: 0 22px 18px;
}
.smart-cta-action-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 16px;
  border-radius: var(--md-shape-full);
  transition: all .2s;
}
.smart-cta-card.cta-success .smart-cta-action-chip {
  background: #D1FAE5;
  color: #065F46;
}
.smart-cta-card.cta-success:hover .smart-cta-action-chip {
  background: #059669;
  color: #fff;
}
.smart-cta-card.cta-warning .smart-cta-action-chip {
  background: #FEF3C7;
  color: #92400E;
}
.smart-cta-card.cta-warning:hover .smart-cta-action-chip {
  background: #D97706;
  color: #fff;
}
.smart-cta-card.cta-info .smart-cta-action-chip {
  background: #DBEAFE;
  color: #1E40AF;
}
.smart-cta-card.cta-info:hover .smart-cta-action-chip {
  background: #2563EB;
  color: #fff;
}
.smart-cta-card.cta-accent .smart-cta-action-chip {
  background: #EDE9FE;
  color: #5B21B6;
}
.smart-cta-card.cta-accent:hover .smart-cta-action-chip {
  background: #7C3AED;
  color: #fff;
}

/* 兼容旧 badge */
.smart-cta-badge {
  display: none;
}

/* ========================================
   用户案例卡片 (Social Proof / Case Study) v2
   更真实的社交证明 — 时间线感 + 数据可视
   ======================================== */
.case-section-header {
  margin-bottom: 20px;
}
.case-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 17px;
  font-weight: 700;
  color: var(--md-on-surface);
  margin: 0 0 6px;
  letter-spacing: -0.2px;
}
.case-section-title .verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  color: #059669;
  background: #D1FAE5;
  padding: 3px 10px;
  border-radius: 20px;
}
.case-section-subtitle {
  font-size: 13px;
  color: var(--md-on-surface-muted);
  margin: 0;
}

.case-cards-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  margin-top: 0;
}
.case-card {
  background: var(--md-surface);
  border: 1px solid var(--md-outline-subtle);
  border-radius: var(--md-shape-lg);
  padding: 22px 22px 18px;
  position: relative;
  overflow: hidden;
  transition: all .25s ease;
  animation:ueRevealUp .45s var(--md-easing-emphasized) both;
}
.case-card:nth-child(2){animation-delay:.08s}
.case-card:nth-child(3){animation-delay:.16s}
.case-card:hover {
  border-color: var(--md-primary);
  box-shadow: 0 4px 20px rgba(13,59,102,.08);
  transform: translateY(-1px);
}

/* 左侧渐变标记 */
.case-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 4px;
  height: 100%;
  border-radius: 4px 0 0 4px;
  background: linear-gradient(180deg, var(--md-primary), #93C5FD);
}
.case-card:nth-child(2)::before {
  background: linear-gradient(180deg, #059669, #34D399);
}
.case-card:nth-child(3)::before {
  background: linear-gradient(180deg, #7C3AED, #A78BFA);
}

/* 案例头部：头像 + 公司 + 时间 */
.case-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.case-card-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
  color: #fff;
}
.case-card:nth-child(1) .case-card-avatar {
  background: linear-gradient(135deg, #2563EB, #3B82F6);
}
.case-card:nth-child(2) .case-card-avatar {
  background: linear-gradient(135deg, #059669, #10B981);
}
.case-card:nth-child(3) .case-card-avatar {
  background: linear-gradient(135deg, #7C3AED, #8B5CF6);
}
.case-card-company-info {
  flex: 1;
  min-width: 0;
}
.case-card-company-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--md-on-surface);
}
.case-card-time {
  font-size: 11px;
  color: var(--md-on-surface-muted);
  display: flex;
  align-items: center;
  gap: 4px;
}
.case-card-time i {
  font-size: 10px;
  color: var(--md-success);
}

/* 引用内容 */
.case-card-quote {
  font-size: 13px;
  color: var(--md-on-surface);
  line-height: 1.7;
  margin: 0 0 16px;
  position: relative;
  padding-left: 16px;
}
.case-card-quote::before {
  content: '\201C';
  position: absolute;
  left: 0;
  top: -4px;
  font-size: 28px;
  font-weight: 700;
  color: var(--md-primary);
  opacity: .2;
  line-height: 1;
  font-family: Georgia, serif;
}

/* 操作路径 */
.case-card-path {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 11px;
  color: var(--md-on-surface-muted);
  margin-bottom: 14px;
  padding: 8px 12px;
  background: var(--md-surface-container-low);
  border-radius: 8px;
}
.case-card-path i {
  font-size: 8px;
  color: var(--md-outline);
}

/* 结果统计 */
.case-card-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid var(--md-outline-subtle);
}
.case-card-stat {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
}
.case-card:nth-child(1) .case-card-stat { color: #059669; }
.case-card:nth-child(2) .case-card-stat { color: #2563EB; }
.case-card:nth-child(3) .case-card-stat { color: #7C3AED; }
.case-card-stat i {
  font-size: 14px;
}
.case-card-tag {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 10px;
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.case-card-tag.saved {
  background: #D1FAE5;
  color: #065F46;
}
.case-card-tag.efficiency {
  background: #DBEAFE;
  color: #1E40AF;
}
.case-card-tag.avoided {
  background: #EDE9FE;
  color: #5B21B6;
}

/* 旧版兼容 */
.case-card-meta {
  display: none;
}

/* ========================================
   UE: 全局微交互细节补充
   ======================================== */
/* 卡片列表交错入场统一 */
.card-list-item:nth-child(1){animation:ueRevealUp .3s var(--md-easing-emphasized) both}
.card-list-item:nth-child(2){animation:ueRevealUp .3s var(--md-easing-emphasized) .05s both}
.card-list-item:nth-child(3){animation:ueRevealUp .3s var(--md-easing-emphasized) .1s both}
.card-list-item:nth-child(4){animation:ueRevealUp .3s var(--md-easing-emphasized) .15s both}
.card-list-item:nth-child(5){animation:ueRevealUp .3s var(--md-easing-emphasized) .2s both}

/* 数据滚动感：数字跳动效果（配合 JS 使用 class="count-up"） */
.count-up{
  animation:ueCountUp .5s var(--md-easing-emphasized) both;
}

/* 提示气泡更自然的出现 */
.tooltip{
  position:relative;
}
.tooltip::after{
  content:attr(data-tip);
  position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(4px);
  background:var(--md-on-surface);color:var(--md-surface);
  font-size:11px;padding:4px 10px;border-radius:6px;
  white-space:nowrap;opacity:0;pointer-events:none;
  transition:all .2s var(--md-easing-standard);
}
.tooltip:hover::after{
  opacity:1;transform:translateX(-50%) translateY(0);
}

/* Footer 底部微装饰 */
.footer-bottom::before{
  content:'';display:block;width:40px;height:2px;
  background:var(--md-outline-variant);border-radius:1px;
  margin:0 auto 14px;
}

/* Search tab 切换更柔和 */
.search-tab{
  transition:all .2s var(--md-easing-emphasized);
}

/* ========================================
   UE: 骨架屏 — 首屏占位优化
   ======================================== */
.skeleton{
  background:linear-gradient(90deg,
    var(--md-surface-container-low) 25%,
    var(--md-surface-container) 37%,
    var(--md-surface-container-low) 63%
  );
  background-size:400% 100%;
  animation:ueShimmer 2s linear infinite;
  border-radius:var(--md-shape-sm);
  position:relative;overflow:hidden;
}
.skeleton--text{height:14px;margin-bottom:8px;width:100%}
.skeleton--text-short{height:14px;margin-bottom:8px;width:60%}
.skeleton--heading{height:22px;margin-bottom:12px;width:75%}
.skeleton--avatar{width:40px;height:40px;border-radius:50%}
.skeleton--card{height:140px;border-radius:var(--md-shape-md)}
.skeleton--tag{display:inline-block;width:60px;height:22px;border-radius:var(--md-shape-xs);margin:0 4px}
.skeleton--badge{display:inline-block;width:48px;height:18px;border-radius:var(--md-shape-full)}

/* 骨架屏容器（页面数据加载完成前占位） */
.skeleton-wrap{position:relative}
.skeleton-wrap.loaded .skeleton{display:none}
.skeleton-wrap.loaded .skeleton-real{display:block}
.skeleton-real{display:none}

/* ========================================
   UE: Toast 通知系统
   ======================================== */
.toast-container{
  position:fixed;top:80px;right:20px;z-index:1000;
  display:flex;flex-direction:column;gap:10px;
  pointer-events:none;
}
@media(max-width:600px){
  .toast-container{top:16px;left:16px;right:16px}
}
.toast{
  display:flex;align-items:center;gap:10px;
  padding:12px 18px;
  background:var(--md-surface);
  border:1px solid var(--md-outline-subtle);
  border-radius:var(--md-shape-md);
  box-shadow:0 8px 28px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);
  font-size:13px;color:var(--md-on-surface);
  max-width:380px;
  animation:toastIn .35s var(--md-easing-emphasized) forwards;
  pointer-events:auto;
  position:relative;overflow:hidden;
}
@media(max-width:600px){
  .toast{max-width:100%}
}
.toast.toast-hiding{animation:toastOut .25s var(--md-easing-standard) forwards}
.toast::before{
  content:'';position:absolute;bottom:0;left:0;height:3px;
  background:var(--md-primary);
  animation:toastTimer 4s linear forwards;
}
.toast--success{border-left:3px solid var(--md-success)}
.toast--success::before{background:var(--md-success)}
.toast--error{border-left:3px solid var(--md-error)}
.toast--error::before{background:var(--md-error)}
.toast--warning{border-left:3px solid var(--md-warning)}
.toast--warning::before{background:var(--md-warning)}
.toast--info{border-left:3px solid var(--md-primary)}
.toast__icon{font-size:18px;flex-shrink:0}
.toast--success .toast__icon{color:var(--md-success)}
.toast--error .toast__icon{color:var(--md-error)}
.toast--warning .toast__icon{color:var(--md-warning)}
.toast--info .toast__icon{color:var(--md-primary)}
.toast__content{flex:1;min-width:0}
.toast__title{font-weight:600;font-size:13px;margin-bottom:1px}
.toast__text{font-size:12px;color:var(--md-on-surface-variant)}
.toast__close{
  flex-shrink:0;background:none;border:none;cursor:pointer;
  color:var(--md-on-surface-muted);padding:4px;
  border-radius:var(--md-shape-xs);font-size:12px;
  transition:all var(--md-duration-short) var(--md-easing-standard);
}
.toast__close:hover{background:var(--md-surface-container-low);color:var(--md-on-surface)}
@keyframes toastIn{
  from{opacity:0;transform:translateX(40px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes toastOut{
  from{opacity:1;transform:translateX(0)}
  to{opacity:0;transform:translateX(40px)}
}
@keyframes toastTimer{
  from{width:100%}
  to{width:0}
}

/* ========================================
   UE: 滚动进度条
   ======================================== */
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;
  background:linear-gradient(90deg,var(--md-primary),var(--md-tertiary),var(--md-secondary));
  z-index:100;width:0;
  transition:width .1s linear;
  border-radius:0 2px 2px 0;
}

/* ========================================
   UE: 图片懒加载过渡
   ======================================== */
img.lazy-img{
  opacity:0;transform:scale(.96);
  transition:opacity .4s var(--md-easing-emphasized),
             transform .4s var(--md-easing-emphasized);
}
img.lazy-img.loaded{
  opacity:1;transform:scale(1);
}
img.lazy-img-error{
  opacity:.3;
}

/* ========================================
   UE: 页面入场遮罩（整页切换过渡） 
   ======================================== */
.page-transition-overlay{
  position:fixed;inset:0;z-index:9999;
  background:var(--hero-gradient);
  pointer-events:all;
  animation:pageReveal .5s var(--md-easing-emphasized) forwards;
}
@keyframes pageReveal{
  from{clip-path:circle(0% at 50% 50%)}
  to{clip-path:circle(150% at 50% 50%)}
}

/* ========================================
   UE: 增强焦点环 — 键盘导航可见
   ======================================== */
:focus-visible{
  outline:2px solid var(--md-primary-light);
  outline-offset:3px;
  border-radius:var(--md-shape-xs);
}
.btn:focus-visible,.nav-link:focus-visible{
  outline-offset:0px;
}

/* ========================================
   UE: 卡片按压微动画（Material 触感）
   ======================================== */
.pressable{transition:transform .15s var(--md-easing-standard),box-shadow .15s var(--md-easing-standard)}
.pressable:active{transform:scale(.97)}
.pressable:hover{box-shadow:var(--md-elevation-2)}

/* ========================================
   UE: 空状态动画态
   ======================================== */
.empty-state{
  text-align:center;padding:clamp(40px,8vw,64px) 20px;
  animation:uePopIn .45s var(--md-easing-emphasized) both;
}
/* 所有空状态下第一个图标自动获得呼吸感动画 */
.empty-state > i:first-child{
  display:inline-block;opacity:.35;
  font-size:clamp(36px,6vw,52px);
  margin-bottom:12px;
  animation:ueBreathe 4s ease-in-out infinite;
}
.empty-state-icon{
  display:inline-block;font-size:clamp(36px,6vw,52px);
  margin-bottom:12px;
  animation:ueBreathe 4s ease-in-out infinite;
}
.empty-state p{color:var(--md-on-surface-variant);margin-bottom:20px;font-size:14px}

/* ========================================
   UE: 数据刷新轻提示
   ======================================== */
.fresh-indicator{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;color:var(--md-on-surface-muted);
  padding:4px 10px;
  background:var(--md-surface-container-low);
  border-radius:var(--md-shape-full);
}
.fresh-indicator i{
  font-size:10px;color:var(--md-success);
  animation:uePulse 2s ease-in-out infinite;
}

/* ========================================
   UE: 悬停预加载指示器
   ======================================== */
.hover-glow{
  transition:box-shadow .3s var(--md-easing-standard);
}
.hover-glow:hover{
  box-shadow:0 0 0 4px rgba(13,59,102,.06),var(--md-elevation-2);
}

/* ========================================
   UE: 平滑区段分割线
   ======================================== */
.section-divider{
  border:none;height:1px;
  background:linear-gradient(90deg,transparent,var(--md-outline-variant),transparent);
  margin:0;
}

/* ========================================
   UE: 粘性节标题（长页面目录） 
   ======================================== */
.sticky-section-title{
  position:sticky;top:57px;z-index:10;
  background:linear-gradient(180deg,var(--md-surface-dim) 0%,transparent 100%);
  padding:16px 0 10px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

/* ========================================
   UE: 数字跳动升级 — 首页数据统计动画
   ======================================== */
.stat-number{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum";
}
.stat-number.animated{
  animation:ueCountUp .6s var(--md-easing-emphasized) both;
}

/* ========================================
   UE: 标签栏底部滑动指示器
   ======================================== */
.tab-indicator{
  position:relative;
}
.tab-indicator::after{
  content:'';position:absolute;bottom:0;left:0;
  height:2px;border-radius:2px;
  background:var(--md-primary);
  transition:left .3s var(--md-easing-emphasized),width .3s var(--md-easing-emphasized);
}

/* ========================================
   UE: 确认对话框（原生替代方案） 
   ======================================== */
.confirm-overlay{
  position:fixed;inset:0;z-index:2000;
  background:rgba(0,0,0,.25);
  display:flex;align-items:center;justify-content:center;
  animation:fadeIn .2s var(--md-easing-standard);
}
.confirm-card{
  background:var(--md-surface);
  border-radius:var(--md-shape-lg);
  padding:28px;
  max-width:360px;width:90%;
  box-shadow:var(--md-elevation-5);
  animation:uePopIn .3s var(--md-easing-emphasized);
}
.confirm-card h3{font-size:16px;margin:0 0 8px;color:var(--md-on-surface)}
.confirm-card p{font-size:13px;color:var(--md-on-surface-variant);margin:0 0 20px;line-height:1.6}
.confirm-actions{display:flex;gap:10px;justify-content:flex-end}
.confirm-actions .btn{padding:8px 20px;font-size:13px}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ========================================
   UE: 内容区平滑拉升（折叠面板） 
   ======================================== */
.collapsible-content{
  overflow:hidden;
  transition:max-height .35s var(--md-easing-emphasized);
}
.collapsible-content.collapsed{max-height:0 !important}

/* ========================================
   UE: Tabs 切换平滑滚动
   ======================================== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}
