/* Apple Design System (Cupertino / macOS / iOS HIG) */
:root {
  /* Apple 系统主色调 */
  --apple-bg: #F5F5F7;
  --apple-bg-card: rgba(255, 255, 255, 0.85);
  --apple-bg-card-solid: #FFFFFF;
  --apple-bg-secondary: #E5E5EA;
  --apple-border: rgba(0, 0, 0, 0.08);
  --apple-border-subtle: rgba(0, 0, 0, 0.04);
  
  --apple-text-primary: #1D1D1F;
  --apple-text-secondary: #86868B;
  --apple-text-tertiary: #A1A1A6;
  
  --apple-blue: #0071E3;
  --apple-blue-hover: #0077ED;
  --apple-purple: #AF52DE;
  --apple-indigo: #5856D6;
  --apple-orange: #FF9500;
  
  /* 收益颜色 (固定涨红跌绿) */
  --color-up: #FF3B30;     /* Apple Red 涨红 */
  --color-down: #34C759;   /* Apple Green 跌绿 */
  --color-up-bg: rgba(255, 59, 48, 0.08);
  --color-down-bg: rgba(52, 199, 89, 0.08);

  --apple-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
  --apple-shadow-card: 0 4px 20px -2px rgba(0, 0, 0, 0.05), 0 1px 4px rgba(0, 0, 0, 0.02);
  --apple-shadow-modal: 0 20px 40px -8px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.1);
  --apple-radius-sm: 10px;
  --apple-radius-md: 16px;
  --apple-radius-lg: 20px;
  --apple-radius-pill: 9999px;
}

/* 顶层弹窗层级，确保在任何二级弹窗之上展开 */
.z-modal-top {
  z-index: 70 !important;
}

/* 确保 hidden 类具有最高优先级隐藏元素 */
.hidden {
  display: none !important;
}

* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background-color: var(--apple-bg);
  color: var(--apple-text-primary);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  margin: 0;
  padding: 0;
  transition: background-color 0.3s ease, color 0.3s ease;
  letter-spacing: -0.01em;
}

/* Apple 标志性磨砂玻璃效果 (Vibrancy / Frosted Glass) */
.apple-glass {
  background: var(--apple-bg-card);
  backdrop-filter: blur(25px) saturate(180%);
  -webkit-backdrop-filter: blur(25px) saturate(180%);
  border: 1px solid var(--apple-border);
}

.apple-card {
  background: var(--apple-bg-card-solid);
  border-radius: var(--apple-radius-lg);
  box-shadow: var(--apple-shadow-card);
  border: 1px solid var(--apple-border-subtle);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease;
}

body.dark-mode .apple-card {
  background: var(--apple-bg-card);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--apple-border);
}

.apple-card:hover {
  box-shadow: 0 8px 30px -4px rgba(0, 0, 0, 0.08);
}

body.dark-mode .apple-card:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
}

/* Apple 分段控制器 (Segmented Control) */
.apple-segmented-control {
  background-color: var(--apple-bg-secondary);
  padding: 4px;
  border-radius: var(--apple-radius-pill);
  display: inline-flex;
  position: relative;
}

.apple-segmented-item {
  padding: 6px 16px;
  border-radius: var(--apple-radius-pill);
  font-size: 13px;
  font-weight: 500;
  color: var(--apple-text-secondary);
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
}

.apple-segmented-item.active {
  background: var(--apple-bg-card-solid);
  color: var(--apple-text-primary);
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

body.dark-mode .apple-segmented-item.active {
  background: #3A3A3C;
  color: #FFFFFF;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Apple 胶囊按钮 */
.apple-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: var(--apple-radius-pill);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1);
  border: none;
  outline: none;
}

.apple-btn:active {
  transform: scale(0.97);
}

.apple-btn-primary {
  background-color: var(--apple-blue);
  color: #FFFFFF;
}

.apple-btn-primary:hover {
  background-color: var(--apple-blue-hover);
  box-shadow: 0 4px 12px rgba(0, 113, 227, 0.3);
}

.apple-btn-secondary {
  background-color: var(--apple-bg-secondary);
  color: var(--apple-text-primary);
}

.apple-btn-secondary:hover {
  filter: brightness(0.95);
}

body.dark-mode .apple-btn-secondary:hover {
  filter: brightness(1.15);
}

/* 涨跌颜色 */
.text-up {
  color: var(--color-up) !important;
}

.text-down {
  color: var(--color-down) !important;
}

.bg-up-light {
  background-color: var(--color-up-bg) !important;
  color: var(--color-up) !important;
}

.bg-down-light {
  background-color: var(--color-down-bg) !important;
  color: var(--color-down) !important;
}

/* Apple 胶囊徽章 */
.apple-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 10px;
  border-radius: var(--apple-radius-pill);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: -0.01em;
  white-space: nowrap !important;
  flex-shrink: 0;
  line-height: 1.25;
}

/* 杜绝表格列与操作按钮竖向挤压显示 */
table th, table td {
  white-space: nowrap;
}
table th.cell-wrap, table td.cell-wrap {
  white-space: normal;
}

/* 呼吸灯小圆点 */
.apple-pulse-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
  animation: applePulse 2s infinite cubic-bezier(0.4, 0, 0.6, 1);
}

@keyframes applePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.85); }
}

/* 模态框 */
.apple-modal-backdrop {
  background-color: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.apple-modal-box {
  background: var(--apple-bg-card-solid);
  border-radius: 24px;
  box-shadow: var(--apple-shadow-modal);
  border: 1px solid var(--apple-border);
  animation: appleModalIn 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

body.dark-mode .apple-modal-box {
  background: #1C1C1E;
}

@keyframes appleModalIn {
  from { opacity: 0; transform: scale(0.94) translateY(12px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

/* 输入框 */
.apple-input {
  background-color: var(--apple-bg-secondary);
  border: 1px solid transparent;
  color: var(--apple-text-primary);
  border-radius: var(--apple-radius-sm);
  padding: 10px 14px;
  font-size: 13px;
  outline: none;
  transition: all 0.2s ease;
  width: 100%;
}

.apple-input:focus {
  border-color: var(--apple-blue);
  background-color: var(--apple-bg-card-solid);
  box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.15);
}

/* 隐藏所有数字输入框的原生上下调节微调箭头 (Spin Buttons / Steppers) */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield;
}

/* 自定义极简滚动条 */
::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(142, 142, 147, 0.3);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(142, 142, 147, 0.6);
}
