:root {
  --color-primary: #1890ff;
  --color-primary-hover: #40a9ff;
  --color-primary-active: #096dd9;

  --sidebar-bg: #001529;
  --sidebar-submenu-bg: #000c17;
  --sidebar-text: rgba(255, 255, 255, 0.65);
  --sidebar-text-active: #ffffff;

  --layout-header-height: 56px;
  --layout-sidebar-width: 220px;

  --text-primary: rgba(0, 0, 0, 0.88);
  --text-secondary: rgba(0, 0, 0, 0.65);
  --text-tertiary: rgba(0, 0, 0, 0.45);
  --border-color: #f0f0f0;
  --page-bg: #f5f5f5;
  --card-bg: #ffffff;

  --risk-red: #ff4d4f;
  --risk-orange: #fa8c16;
  --risk-yellow: #fadb14;
  --risk-blue: #1890ff;

  --font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
  --font-size-base: 14px;
  --font-size-sm: 12px;
  --radius-base: 4px;
  --radius-app-card: 10px;

  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.03), 0 1px 6px rgba(0, 0, 0, 0.04);

  /* APP 标准逻辑视口（375 × 812，设计稿常用 750 宽 @2x） */
  --app-width: 375px;
  --app-height: 812px;
  --app-nav-height: 44px;
  --app-tabbar-height: 50px;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  color: var(--text-primary);
  background: var(--page-bg);
}

a {
  color: var(--color-primary);
  text-decoration: none;
}

a:hover {
  color: var(--color-primary-hover);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 15px;
  font-size: var(--font-size-base);
  border-radius: var(--radius-base);
  border: 1px solid transparent;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.2s;
}

.btn-primary {
  background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
}

.btn-primary:hover {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

.btn-default {
  background: #fff;
  border-color: #d9d9d9;
  color: var(--text-primary);
}

.btn-default:hover {
  color: var(--color-primary);
  border-color: var(--color-primary);
}

.input {
  width: 100%;
  height: 36px;
  padding: 0 11px;
  border: 1px solid #d9d9d9;
  border-radius: var(--radius-base);
  font-size: var(--font-size-base);
  font-family: inherit;
  outline: none;
  transition: border-color 0.2s;
}

.input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.15);
}

.card {
  background: var(--card-bg);
  border-radius: var(--radius-base);
  box-shadow: var(--shadow-card);
}
