/* assets/app.css */

:root {
  --color-primary: #1a73e8;
  --color-dark:    #1a1d23;
  --color-card:    #fff;
  --color-border:  #e9ecef;
}

body {
  background: #f4f6f9;
  font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

/* 导航栏 */
.navbar { box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.navbar-brand { font-size: 1.25rem; letter-spacing: 1px; }

/* 主内容区 */
.main-content {
  padding: 28px 0 60px;
  min-height: calc(100vh - 60px);
}

/* 卡片 */
.card {
  border: 1px solid var(--color-border);
  border-radius: 12px;
  box-shadow: 0 1px 6px rgba(0,0,0,.06);
}
.card-header {
  background: transparent;
  border-bottom: 1px solid var(--color-border);
  font-weight: 600;
  padding: 16px 20px;
}

/* 表格 */
.table { font-size: 14px; }
.table th { font-weight: 600; color: #555; white-space: nowrap; }
.table td { vertical-align: middle; }

/* 状态徽章 */
.badge-online  { background: #d1fae5; color: #065f46; }
.badge-offline { background: #f3f4f6; color: #6b7280; }
.badge-active  { background: #dbeafe; color: #1e40af; }
.badge-expired { background: #fee2e2; color: #991b1b; }

/* 隧道开关 */
.tunnel-switch { cursor: pointer; }

/* 登录/注册页 */
.auth-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1a1d23 0%, #2d3748 100%);
}
.auth-card {
  width: 100%;
  max-width: 420px;
  background: #fff;
  border-radius: 16px;
  padding: 40px;
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.auth-logo {
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 28px;
  letter-spacing: 1px;
}
.auth-logo span { color: var(--color-primary); }

/* 套餐卡片 */
.plan-card {
  border: 2px solid var(--color-border);
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  transition: border-color .2s;
}
.plan-card.active { border-color: var(--color-primary); }
.plan-price {
  font-size: 28px;
  font-weight: 700;
  color: var(--color-primary);
}
.plan-price small { font-size: 14px; font-weight: 400; color: #888; }

/* 服务器状态图表容器 */
#serverChart { max-height: 400px; }

/* 响应式 */
@media (max-width: 768px) {
  .main-content { padding: 16px 0 40px; }
  .auth-card    { padding: 28px 20px; margin: 16px; }
}
