/* 固定蓝色主色。业务状态的成功、警告与危险色仍保留各自语义。 */
:root, body.scope-admin, body.scope-user, body.auth-body {
  --bg: #f4f7fd;
  --card: #ffffff;
  --panel: #f8faff;
  --soft: #edf4ff;
  --text: #172b4d;
  --text-2: #526581;
  --muted: #72839d;
  --line: #e4ebf6;
  --line-2: #cbd8ec;
  --primary: #2563eb;
  --primary-2: #1d4ed8;
  --on-primary: #ffffff;
  --focus: #3b82f6;
  --ring: rgba(59, 130, 246, .16);
  --accent: #2563eb;
  --accent-soft: #eaf2ff;
  --brand-accent: #2563eb;
  --shadow-sm: 0 1px 3px rgba(35, 68, 120, .04);
  --shadow-md: 0 4px 18px rgba(35, 68, 120, .07);
  --shadow-lg: 0 8px 28px rgba(35, 68, 120, .10);
  accent-color: var(--primary);
}
body a { color: var(--primary); }
body a:hover { color: var(--primary-2); }
body .btn:not(.btn-danger):not(.btn-ghost):not(.btn-settle):not(.btn-ali),
body.scope-admin .btn:not(.btn-danger):not(.btn-ghost):not(.btn-settle):not(.btn-ali),
body .login-submit, body .sb-btn, body .tb-primary {
  background: var(--primary); border-color: var(--primary); color: var(--on-primary);
}
body .btn:not(.btn-danger):not(.btn-ghost):not(.btn-settle):not(.btn-ali):hover,
body.scope-admin .btn:not(.btn-danger):not(.btn-ghost):not(.btn-settle):not(.btn-ali):hover,
body .login-submit:hover, body .sb-btn:hover, body .tb-primary:hover {
  background: var(--primary-2); border-color: var(--primary-2); color: var(--on-primary);
}
body .btn-ghost, body.scope-admin .btn-ghost { background: #fff; color: var(--primary); border-color: var(--line-2); }
body .btn-ghost:hover, body.scope-admin .btn-ghost:hover { background: var(--soft); color: var(--primary-2); border-color: #93b8fb; }
body .input:focus, body .textarea:focus, body .input-mini:focus,
body.scope-admin .input:focus, body.scope-admin .textarea:focus, body.scope-admin .select:focus {
  border-color: var(--focus); box-shadow: 0 0 0 3px var(--ring);
}
body .label { color: var(--text-2); }
body .input::placeholder, body .textarea::placeholder { color: #8b9cb5; }
body :where(a, button, summary, input, select, textarea):focus-visible { outline-color: var(--focus); }
body.scope-admin .adm-side, body.scope-user .adm-side { background: #fff; color: var(--text-2); }
body.scope-admin .adm-link, body.scope-user .adm-link { color: var(--text-2); }
body.scope-admin .adm-link:hover, body.scope-user .adm-link:hover { background: #f2f7ff; color: var(--primary); }
body.scope-admin .adm-link.active, body.scope-user .adm-link.active {
  background: var(--accent-soft); color: var(--primary); box-shadow: inset 3px 0 var(--primary);
}
body .adm-link.active .adm-link-txt { text-decoration: none; }
body .adm-link.active .adm-link-ico, body .adm-link-mark { color: var(--primary); }
body .adm-link-ico { color: #7d91b0; }
body.scope-admin .adm-ava, body.scope-user .adm-ava { background: var(--soft); color: var(--primary); }
body.scope-admin .adm-visited-tab { border-color: var(--line); background: #fff; color: var(--text-2); border-radius: 6px; }
body.scope-admin .adm-visited-tab.is-current { color: var(--primary); border-color: #c5d8fd; background: var(--accent-soft); }
body.scope-admin .adm-visited-close:hover:not(:disabled) { background: #dceaff; color: var(--primary-2); }
body.scope-admin .adm-visited-tab.is-pinned > a { padding-right: 13px; }
body.scope-admin .adm-group-toggle:hover { background: var(--soft); color: var(--primary); }
body .nav-link { color: var(--text-2); }
body .nav-link.active { color: var(--primary); background: var(--accent-soft); text-decoration: none; }
body .st-tab.active, body .tab.active, body .limit-btn.active {
  background: var(--accent-soft); border-color: #a9c7fb; color: var(--primary-2);
}
body .st-tab.active b { color: var(--primary-2); }
body .tile.tile-accent, body .tile-accent, body .tile-accent-2, body .tile-accent-3 {
  --accent: #2563eb; --accent-2: #1d4ed8;
  background: var(--primary); border-color: var(--primary); color: #fff;
}
body.scope-admin .kpi-ico, body.scope-admin .kpi:hover .kpi-ico { background: var(--soft); color: #6384bc; }
body.scope-admin .table th, body.scope-admin .table tbody tr:hover { background: var(--panel); }
body.scope-admin .margin-item, body.scope-user .invite-overview .margin-item { background: var(--panel); border-color: var(--line); }
body.scope-user .invite-overview .margin-item strong { color: var(--primary); }
body .work-link-primary, body .work-link-primary:hover { color: #fff; }
body .work-link:not(.work-link-primary):hover { background: var(--soft); color: var(--primary); border-color: #a9c7fb; }
body.scope-user .workspace-switch { background: var(--soft); border-color: var(--line); }
body.scope-user .workspace-switch-link.is-current { color: var(--primary); text-decoration: none; }
body.scope-user .step-no, body.scope-user .uq-ico, body.scope-user .me-avatar-default { background: var(--soft); color: var(--primary); }
body.scope-user .step-card.done .step-no { background: #e8f6ef; color: #07835d; }
body.scope-user .me-pill.active:not(.me-pill-lg) { background: var(--accent-soft); border-color: #a9c7fb; }
body.scope-user .me-item:hover, body.scope-user .uq-item:hover { background: var(--soft); border-color: #c5d8fd; }
body.scope-user .pt-btn.active, body .tk-method.active { background: var(--primary); border-color: var(--primary); color: #fff; }
body .auth-tab.active, body .auth-foot a, body .auth-login .auth-foot a,
body .login-assist a, body .login-register a { color: var(--primary); }
body .login-story h1 em { color: var(--primary); }
body .login-benefits b { color: var(--primary); }
body .bill-entry { background: var(--soft); border-color: #c5d8fd; color: var(--primary); }
body .bill-entry .be-ico, body .bill-entry .be-arrow { background: #dceaff; color: var(--primary); }
body .bill-entry .be-txt b, body .bill-entry .be-txt i { color: var(--primary-2); }
body .stock-sale-line.is-selected { border-color: #8ab4fa; background: var(--panel); }
body .stock-sale-choice input { accent-color: var(--primary); }
body.page-dashboard .main { gap: 18px; }
body.page-dashboard .kpi-grid { margin: 0; }
body.page-dashboard .dash-grid > .card { min-width: 0; }
@media (min-width: 1100px) {
  body.page-dashboard .dash-grid .chart-box { min-height: 300px; display: flex; align-items: center; }
  body.page-dashboard .dash-grid .chart-box > svg { width: 100%; height: auto; }
}
@media print {
  body { background: #fff; }
}
