/* ===== Theme tokens (3 sets via data-theme) ===== */
:root[data-theme="website"]{
  --primary:#C8161D; --primary-hover:#A41218; --primary-light:#FCE8E9;
  --accent:#E8A93C; --bg-page:#FFFFFF; --bg-card:#FFFFFF; --bg-soft:#F5F5F5;
  --text-primary:#1a1a1a; --text-regular:#444; --text-secondary:#888;
  --border:#E5E5E5; --header-h-1:36px; --header-h-2:72px;
  --shadow-card:0 4px 18px rgba(0,0,0,.06);
  --shadow-hover:0 10px 32px rgba(0,0,0,.12);
  --radius-card:6px; --radius-btn:2px;
}
:root[data-theme="client"]{
  --primary:#00A6A4; --primary-hover:#019896; --primary-light:#E0F5F5;
  --accent:#FF7043; --warning:#FF9800; --success:#52C41A; --danger:#FF4D4F;
  --bg-page:#F4F6F8; --bg-card:#FFFFFF; --bg-soft:#F8FAFB;
  --text-primary:#222; --text-regular:#555; --text-secondary:#999;
  --border:#EEF0F2; --header-h:64px; --tab-bar-h:56px;
  --shadow-card:0 4px 12px rgba(0,0,0,.06);
  --shadow-hover:0 8px 24px rgba(0,0,0,.10);
  --shadow-modal:0 12px 40px rgba(0,0,0,.16);
  --radius-card:8px; --radius-btn:4px; --radius-chip:4px;
}
:root[data-theme="admin"]{
  --primary:#3B82F6; --primary-hover:#2563EB; --primary-light:#E0EBFE;
  --accent:#10B981; --warning:#F59E0B; --danger:#EF4444;
  --bg-page:#F0F2F5; --bg-card:#FFFFFF; --bg-soft:#FAFBFC;
  --text-primary:#1f2937; --text-regular:#4b5563; --text-secondary:#9ca3af;
  --border:#e5e7eb; --header-h:56px; --sidebar-w:220px; --sidebar-w-mini:64px;
  --sidebar-bg:#1F2937; --sidebar-text:rgba(255,255,255,.85); --sidebar-active:#3B82F6;
  --shadow-card:0 1px 3px rgba(0,0,0,.06);
  --shadow-hover:0 4px 12px rgba(0,0,0,.08);
  --radius-card:6px; --radius-btn:4px;
}
/* default fallback */
:root{
  --primary:#3B82F6; --primary-hover:#2563EB;
  --bg-page:#F4F6F8; --bg-card:#fff;
  --text-primary:#222; --text-regular:#555; --text-secondary:#999;
  --border:#eef0f2; --shadow-card:0 4px 12px rgba(0,0,0,.06);
  --radius-card:8px; --radius-btn:4px;
}
/* 全局工具类（截断/换行） */
.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.text-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.text-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.text-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.text-break{overflow-wrap:break-word;word-break:break-word}
