/* tokens.css — PC Admin Design Tokens (UI Baseline v2 青绿科技版，与小程序 v5 统一) */
:root {
  /* Primary */
  --c-primary: #0C8496;
  --c-primary-hover: #086675;
  --c-primary-bg: #E3F4F6;
  --c-primary-border: #B7E3E8;
  /* Accent（琥珀强调：徽标/紧急/重点提示） */
  --c-amber: #F59E0B;
  --c-amber-text: #A8550A;
  --c-amber-bg: #FFF4DC;
  --c-amber-border: #FCE1A6;
  /* Neutral */
  --c-text-primary: #143A44;
  --c-text-secondary: #4C6B74;
  --c-text-tertiary: #88A2AB;
  --c-text-inverse: #FFFFFF;
  --c-bg-page: #EEF4F9;
  --c-bg-card: #FFFFFF;
  --c-bg-input: #FFFFFF;
  --c-bg-disabled: #EFF4F6;
  --c-border: #DCE9EE;
  --c-divider: #EFF4F6;
  /* Status */
  --c-success: #0E9F6E; --c-success-bg: #E7F8F0; --c-success-border: #BDEBD7;
  --c-danger: #D64545; --c-danger-bg: #FCEFEF; --c-danger-border: #F5C8C8;
  --c-warning: #D97706; --c-warning-bg: #FFF4DC; --c-warning-border: #FCE1A6;
  --c-info: #0C8496; --c-info-bg: #E3F4F6; --c-info-border: #B7E3E8;
  --c-offline: #6B8791; --c-offline-bg: #EFF4F6; --c-offline-border: #CFDDE2;
  /* Shadows */
  --shadow-card: 0 1px 3px rgba(12,132,150,0.08), 0 1px 2px rgba(12,132,150,0.05);
  --shadow-modal: 0 10px 28px rgba(12,132,150,0.16);
  --shadow-nav: 0 1px 2px rgba(12,132,150,0.06);
  /* 顶部渐变细线（小程序 v5 标志元素） */
  --topline: linear-gradient(90deg,#0C8496,#14B8A6 48%,#F59E0B);
  /* Sizes */
  --nav-w: 220px; --topbar-h: 56px;
  --radius-sm: 10px; --radius-md: 14px; --radius-lg: 16px;

  /* DS semantic aliases — values reference existing project tokens; no visual change. */
  --color-brand-primary: var(--c-primary);
  --color-brand-primary-hover: var(--c-primary-hover);
  --color-brand-primary-soft: var(--c-primary-bg);
  --color-brand-primary-border: var(--c-primary-border);
  --color-accent: var(--c-amber);
  --color-accent-text: var(--c-amber-text);
  --color-accent-bg: var(--c-amber-bg);
  --color-text-primary: var(--c-text-primary);
  --color-text-secondary: var(--c-text-secondary);
  --color-text-muted: var(--c-text-tertiary);
  --color-text-inverse: var(--c-text-inverse);
  --color-bg-page: var(--c-bg-page);
  --color-bg-surface: var(--c-bg-card);
  --color-bg-input: var(--c-bg-input);
  --color-bg-disabled: var(--c-bg-disabled);
  --color-border: var(--c-border);
  --color-divider: var(--c-divider);
  --color-status-success: var(--c-success);
  --color-status-success-bg: var(--c-success-bg);
  --color-status-danger: var(--c-danger);
  --color-status-danger-bg: var(--c-danger-bg);
  --color-status-warning: var(--c-warning);
  --color-status-warning-bg: var(--c-warning-bg);
  --color-status-info: var(--c-info);
  --color-status-info-bg: var(--c-info-bg);
  --color-status-offline: var(--c-offline);
  --color-status-offline-bg: var(--c-offline-bg);
  --radius-card: var(--radius-lg);
  --radius-control: var(--radius-sm);
  --shadow-surface: var(--shadow-card);
}
* { margin:0;padding:0;box-sizing:border-box; }
body { font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; font-size:14px; color:var(--c-text-primary); background:var(--c-bg-page); }
a { color:var(--c-primary);text-decoration:none; }

/* ── PC 品牌收口 v6：布局骨架 + 登录 + 通用组件（与小程序 v5/v6 同一套语言）── */
.sidebar{background:linear-gradient(180deg,#FFFFFF 0%,#F7FBFD 100%)}
.sidebar .logo{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--c-text-primary)}
.sidebar .logo::before{content:'';width:26px;height:26px;border-radius:9px;background:linear-gradient(145deg,#14B8A6,var(--c-primary));flex-shrink:0}
.nav-section{background:var(--c-bg-page);color:var(--c-text-secondary)}
.nav-group.open .nav-section{background:linear-gradient(150deg,var(--c-primary),var(--c-primary-hover));color:var(--c-text-inverse)}
.nav-item.active{background:var(--c-primary-bg);color:var(--c-primary-hover);font-weight:700}
.nav-item.active::before{background:linear-gradient(180deg,var(--c-primary),var(--c-amber))}
.topbar{box-shadow:var(--shadow-nav)}
.card{border:1px solid var(--c-border);box-shadow:0 6px 18px rgba(12,132,150,.06)}
th{background:linear-gradient(180deg,#F7FBFD,var(--c-bg-page))}
tbody tr:hover{background:#F1F8FA}
.login-wrap{background:radial-gradient(1200px 600px at 50% -10%, #E3F4F6 0%, var(--c-bg-page) 62%)}
.login-card{border:1px solid var(--c-border)}
.login-card h1{font-weight:800}
.login-btn{background:linear-gradient(150deg,var(--c-primary),var(--c-primary-hover));font-weight:700;box-shadow:0 10px 22px rgba(12,132,150,.24)}
.login-btn:hover{background:linear-gradient(150deg,var(--c-primary-hover),#06525E)}
.captcha-row .captcha-display:hover{background:var(--c-primary-bg)}
/* 页面头 + KPI（供各模块统一使用） */
.pc-page-head{display:flex;align-items:center;gap:12px;padding:18px 20px;margin-bottom:16px;border-radius:var(--radius-lg);color:#fff;background:linear-gradient(145deg,var(--c-primary-hover),var(--c-primary) 62%,#14B8A6);box-shadow:0 14px 32px rgba(12,132,150,.22)}
.pc-page-head h1{font-size:18px;font-weight:800;color:#fff;margin:0}
.pc-page-head .pc-sub{font-size:12px;color:rgba(255,255,255,.84);margin-top:4px}
.pc-page-head .pc-pill{margin-left:auto;font-size:12px;font-weight:700;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.38);border-radius:999px;padding:5px 12px}
.pc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.pc-kpi{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:16px;box-shadow:0 6px 18px rgba(12,132,150,.06)}
.pc-kpi b{display:block;font-size:24px;font-weight:800;color:var(--c-primary-hover)}
.pc-kpi span{font-size:12px;color:var(--c-text-tertiary)}
.pc-signbar{margin-top:16px;background:linear-gradient(150deg,#063B47,var(--c-primary-hover));border-radius:var(--radius-md);padding:14px 16px;color:#fff}
.pc-signbar b{display:block;font-size:13px;margin-bottom:4px}
.pc-signbar span{font-size:12px;color:rgba(255,255,255,.88);line-height:1.7}