/* ============================================================
   tokens.css — expo_crm 共通デザイントークン + 最小リセット
   正本: templates/brand_design_guideline.md §6 / 承認済みモック internal/mockups/2026-08-19_tenjikai_crm/mock.html
   🔴 W2作成後は凍結（ARCH.md §1）。W3-W5は読むだけ。追加が必要な場合はPMOに相談してから追記する。

   注意（R-NFR-12）: 外部CDNからフォント・スクリプト・画像を読み込まない。
   Noto Sans JP / Outfit はセルフホストのWebフォントファイルを別途用意しない限り、
   各OSのシステムフォント（Hiragino Sans / Yu Gothic / system-ui 等）へフォールバックする。
   ============================================================ */

:root {
  /* Brand */
  --nvl-blue: #007ECA;
  --nvl-cyan: #74D8EC;
  --nvl-navy: #004873;
  --nvl-gradient: linear-gradient(135deg, #007ECA, #74D8EC);
  /* Accent */
  --nvl-orange: #F97316;
  --nvl-orange-text: #C2410C;
  --nvl-tint-orange: rgba(249, 115, 22, 0.08);
  /* Neutral */
  --nvl-ink: #080808;
  --nvl-text: #333333;
  --nvl-border: #E3E3E3;
  --nvl-bg-light: #F2F2F2;
  --nvl-bg-dark: #121212;
  /* Tint */
  --nvl-tint-blue: rgba(0, 126, 202, 0.05);
  /* Font */
  --nvl-font-ja: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', system-ui, sans-serif;
  --nvl-font-en: 'Outfit', 'Helvetica Neue', Arial, sans-serif;
  /* Mute（モック踏襲。ラベル・注記等の弱色に使う） */
  --mute: #6B6B6B;
  --mute2: #8C8C8C;
}

/* PITFALLS P12対策: hidden属性がauthor CSSのdisplay指定に負けないよう最優先で潰す */
[hidden] { display: none !important; }

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }

body {
  font-family: var(--nvl-font-ja);
  color: var(--nvl-ink);
  background: var(--nvl-bg-light);
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.02em;
  -webkit-font-smoothing: antialiased;
}

button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  letter-spacing: inherit;
}
button { background: none; border: none; cursor: pointer; line-height: inherit; }
a { color: var(--nvl-blue); text-decoration: none; }
ul { list-style: none; }

/* インラインSVGアイコン共通サイズ（R-NFR-21: 絵文字をUIに使わない・アイコンはSVG） */
svg.ic { width: 20px; height: 20px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
svg.ic.sm { width: 16px; height: 16px; stroke-width: 1.7; }
svg.ic.lg { width: 26px; height: 26px; stroke-width: 1.5; }

/* 数字表記の共通規約（R-NFR-22: 欧文フォント＋等幅数字） */
.en { font-family: var(--nvl-font-en); }
.num { font-family: var(--nvl-font-en); font-variant-numeric: tabular-nums; }
