:root {
  color-scheme: light;
  --puze-design-version: "2026-06-24-hr-admin-v2";
  --puze-font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --puze-font-display: Arial, Helvetica, "Segoe UI", sans-serif;
  --puze-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;

  --puze-color-ink: #172033;
  --puze-color-muted: #667085;
  --puze-color-line: #dbe3ef;
  --puze-color-paper: #f4f7fb;
  --puze-color-panel: #ffffff;
  --puze-color-primary: #1f418f;
  --puze-color-accent: #169e9c;
  --puze-color-gold: #887850;
  --puze-color-soft-blue: #edf4ff;
  --puze-color-sidebar: #eef3fb;
  --puze-color-sidebar-strong: #dfe8f6;
  --puze-color-danger: #a44455;
  --puze-color-success: #27745f;

  --puze-radius-panel: 8px;
  --puze-radius-control: 8px;
  --puze-radius-pill: 999px;
  --puze-shadow-panel: 0 18px 55px rgba(31, 65, 143, 0.12);
  --puze-shadow-soft: 0 10px 28px rgba(31, 65, 143, 0.09);
  --puze-shadow-brand-logo: 0 12px 28px rgba(9, 20, 38, 0.18);

  --puze-logo-wordmark: url("/assets/puzetech-logo.svg");
  --puze-logo-symbol: url("/assets/puze-u-logo.svg");
  --puze-logo-auxiliary: url("/assets/puze-aux-u.svg");

  --puze-login-frame-max-width: 1220px;
  --puze-login-frame-columns: minmax(0, 1fr) minmax(340px, 390px);
  --puze-login-frame-gap: 16px;
  --puze-login-frame-padding: 12px;
  --puze-login-brand-min-height: 500px;
  --puze-login-brand-band-height: 156px;
  --puze-login-brand-bg: linear-gradient(145deg, #0b1424 0%, #111827 56%, #08111f 100%);
  --puze-login-band-bg: linear-gradient(90deg, #1f418f 0%, #31558d 44%, #4d8992 70%, #169e9c 100%);
  --puze-login-aux-bg: linear-gradient(135deg, rgba(74, 235, 226, 0.82) 0%, rgba(58, 219, 213, 0.68) 34%, rgba(186, 168, 96, 0.58) 58%, rgba(118, 177, 255, 0.72) 100%);
  --puze-login-aux-opacity: 0.56;
  --puze-login-wordmark-width: 248px;
  --puze-login-wordmark-height: 70px;
  --puze-login-wordmark-padding: 11px 14px;

  /* Compatibility aliases for existing modules. New code should use --puze-* names. */
  --ink: var(--puze-color-ink);
  --muted: var(--puze-color-muted);
  --line: var(--puze-color-line);
  --paper: var(--puze-color-paper);
  --panel: var(--puze-color-panel);
  --brand-primary: var(--puze-color-primary);
  --brand-accent: var(--puze-color-accent);
  --brand-gold: var(--puze-color-gold);
  --brand-soft: var(--puze-color-soft-blue);
  --brand-pink: var(--puze-color-primary);
  --brand-orange: var(--puze-color-accent);
  --teal: var(--puze-color-accent);
  --blue: var(--puze-color-primary);
  --amber: var(--puze-color-gold);
  --sidebar: var(--puze-color-sidebar);
  --sidebar-2: var(--puze-color-sidebar-strong);
  --shadow: var(--puze-shadow-panel);
  --soft-shadow: var(--puze-shadow-soft);
}

/*
  Frontstage copy policy:
  User-facing login pages and business screens must not display developer prompts,
  internal safety boundaries, implementation details, or technical no-write/secret
  checklists. Keep those in docs, evidence, logs, runbooks, or backend comments.
*/

body {
  font-family: var(--puze-font-base);
}

button,
input,
select,
textarea {
  font: inherit;
}
