/**
 * 共有デザイントークン（職員PWA / 管理UI）
 * 既存の --primary / --color-primary 等は互換エイリアスとして残す。
 */
:root {
  /* Brand */
  --color-brand: #0b6e99;
  --color-brand-dark: #0a5a7a;

  /* Text */
  --color-text: #222222;
  --color-text-muted: #555555;
  --color-text-inverse: #ffffff;

  /* Surfaces */
  --color-bg: #f0f4f8;
  --color-bg-admin: #f4f6f8;
  --color-surface: #ffffff;
  --color-border: #cccccc;
  --color-border-subtle: #eeeeee;

  /* Semantic */
  --color-success: #2e7d32;
  --color-warning: #ef6c00;
  --color-warning-soft: #f9a825;
  --color-danger: #c62828;
  --color-info: #1565c0;

  /* Focus */
  --color-focus: #0b6e99;
  --focus-ring: 0 0 0 3px rgba(11, 110, 153, 0.45);

  /* Holiday / weekend (表示用・色だけに依存しないようクラス併用) */
  --color-holiday-bg: #ffebee;
  --color-weekend-bg: #fff8e1;

  /* Spacing (4/8) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;

  /* Radius / shadow */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 2px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.15);

  /* Touch / chrome */
  --tap-min: 44px;
  --header-h: 48px;
  --header-h-admin: 52px;
  --tab-h: 60px;
  --sticky-name-w: 120px;
  --safe-b: env(safe-area-inset-bottom, 0px);
  --font-sans: system-ui, -apple-system, "Segoe UI", "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Yu Gothic",
    Meiryo, sans-serif;
  --font-mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;
  --font-size-body: 1rem;
  --line-height-body: 1.5;

  /* Legacy aliases (既存CSS互換) */
  --primary: var(--color-brand);
  --danger: var(--color-danger);
  --warning: var(--color-warning);
  --bg: var(--color-bg);
  --card: var(--color-surface);
  --text: var(--color-text);
  --color-primary: var(--color-brand);
  --color-error: var(--color-danger);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
