/* 固定蓝色主色。业务状态的成功、警告与危险色仍保留各自语义。 */
: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: #5880f8;
  --primary-2: #3f6cf5;
  --on-primary: #ffffff;
  --focus: #3b82f6;
  --ring: rgba(88, 128, 248, .18);
  --accent: #5880f8;
  --accent-soft: #eaf2ff;
  --brand-accent: #5880f8;
  --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: #5880f8; --accent-2: #3f6cf5;
  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; }
}

/* 手机首屏优先留给业务内容。尺寸断点与网站现有手机表单一致。 */
@media screen and (max-width: 720px) {
  body.scope-user .main,
  body.scope-admin .main,
  body.scope-user:is(.page-batch, .page-report, .page-me) .main {
    padding: 10px 10px 32px;
    gap: 10px;
  }
  body.scope-user.has-bar .main { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .scope-user .topbar-inner { min-height: 50px; padding: 3px 10px; }
  .scope-admin .adm-top-inner { height: 50px; padding-inline: 10px; }
  .scope-admin .adm-visited { min-height: 44px; padding: 1px 10px 0; }
  .scope-user .card, body.scope-admin .card, .scope-admin .margin-panel { padding: 12px; }
  .scope-user .card-title, body.scope-admin .list-head { margin-bottom: 10px; }
  .scope-user .field, .login-form .field { margin-bottom: 10px; }

  .scope-user .workspace-head {
    flex-flow: row wrap;
    align-items: center;
    gap: 6px 10px;
    padding-bottom: 8px;
  }
  .scope-user .workspace-head > div:first-child { flex: 1 1 145px; min-width: 0; }
  .scope-user .workspace-head h1 { font-size: 20px; margin: 2px 0; }
  .scope-user .workspace-head p { line-height: 1.45; }
  .scope-user .workspace-switch { align-self: center; }
  .scope-user .workspace-switch-link { padding-inline: 9px; }
  .scope-user .uq-side { margin-bottom: 8px; }
  .scope-user .workspace-side-title { padding-bottom: 4px; }
  .scope-user .uq-quick { grid-template-columns: repeat(auto-fit, minmax(60px, 1fr)); gap: 4px; }
  .scope-user .uq-item { display: grid; align-content: center; min-height: 44px; padding: 4px 2px; }
  .scope-user .uq-ico { display: none; }
  .scope-user .uq-n { top: -4px; right: -2px; }
  .scope-user .uq-formcol { gap: 10px; }
  .scope-user #rpForm, .scope-user #reportForm, .scope-user .me-hero, .scope-user .invite-overview { padding: 12px; }
  .scope-user #rpForm .list-head, .scope-user #reportForm .list-head { padding-bottom: 8px; margin-bottom: 10px; }
  .scope-user .step-card:not(:last-of-type) { padding-bottom: 10px; margin-bottom: 10px; }
  .scope-user .step-head { gap: 6px; margin-bottom: 8px; }
  .scope-user .submitbar .sb-in { padding: 5px 10px calc(5px + env(safe-area-inset-bottom)); }

  .scope-admin .work-overview { gap: 8px; padding-bottom: 10px; }
  .scope-admin .kpi-grid, .scope-admin .dash-grid { gap: 8px; }
  .scope-admin .kpi { padding: 10px; gap: 4px; }
  .scope-admin .card-table > tbody > tr { padding: 9px 10px; margin-bottom: 6px; }

  .login-layout { padding: 12px; }
  .login-brand { padding-bottom: 10px; }
  .login-grid { padding: 12px 0; gap: 14px; }
  .login-form-card { padding: 16px; }
  .login-description { margin: 4px 0 12px; }
  .login-submit { margin-top: 8px; }
  .login-register { margin-top: 10px; padding-top: 6px; }
}
