/* ============================================================
   litlink boost! — Ops / Client 用 B2B ライトテーマ + 脱ゲーミフィ
   DESIGN_INTENT_OPS / DESIGN_INTENT_CLIENT 準拠:
     白基調・抑制された装飾・ゲーミフィケーション完全ゼロ・数値は等幅整列。
   ※ creator（ダーク＋ゲーミフィが正）には読み込まない。
   ※ boost.css の「後」に読み込むこと（変数とクラスを上書き）。
   ============================================================ */
:root {
  /* 背景・テキスト・境界（意図§10 ライトトークン） */
  --bg-base:      #FFFFFF;
  --bg-surface:   #F8F9FA;
  --bg-elevated:  #FFFFFF;
  --bg-overlay:   rgba(17,24,39,.45);
  --text-primary:   #111827;
  --text-secondary: #4B5563;
  --text-muted:     #6B7280;   /* on #fff ≈ 4.6:1（AA） */
  --text-inverse:   #FFFFFF;
  --border:       #E5E7EB;
  --border-focus: rgba(100,100,253,.45);

  /* グロー/トレースを抑制（ネオン廃止） */
  --violet-bright: #6464FD;
  --violet-glow:   rgba(100,100,253,.14);
  --violet-trace:  rgba(100,100,253,.07);
  --gauge-low:     #6464FD;
  --gauge-mid:     #6464FD;     /* マゼンタ #a855f7 廃止・単色 violet */

  /* 影を中立化（紫グロー影を消す） */
  --shadow-sm:     0 1px 2px rgba(16,24,40,.06);
  --shadow-md:     0 4px 12px rgba(16,24,40,.08);
  --shadow-lg:     0 12px 32px rgba(16,24,40,.12);
  --shadow-violet: none;

  /* B2B クリーン書体（webフォント非依存・日本語は Noto/ヒラギノ） */
  --font: system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;

  /* client が参照していたが未定義だった変数（描画崩れの修正） */
  --cl-bg:       #FFFFFF;
  --cl-surface:  #F8F9FA;
  --cl-elevated: #FFFFFF;
  --cl-border:   #E5E7EB;
  --cl-accent:   #6464FD;
}

body { background: var(--bg-base); color: var(--text-primary); }

/* ── 脱ゲーミフィ: グロー・点滅・ネオン・ランクグラデ・発射演出を無効化 ── */
.btn-boost { background: var(--violet) !important; color: #fff !important;
             box-shadow: none !important; animation: none !important; }
.btn-primary, .btn-primary:hover { box-shadow: none !important; }
.badge-in-progress { animation: none !important;
             background: rgba(100,100,253,.10) !important; color: #4338CA !important; }
.kpi-card.highlight { background: var(--bg-surface) !important; }
.gauge-ring-fill.near, .gauge-ring-fill.full { filter: none !important; }
/* GaugeFamily: ブーストゲージ＝シアン単色（無演出）。予算・粗利系は無演出グレーで別物と示す */
.boost-gauge-mini-fill, .boost-gauge-mini-fill.near, .boost-gauge-mini-fill.full,
.boost-gauge-tiny-fill, .boost-gauge-tiny-fill.near, .boost-gauge-tiny-fill.full {
  background: #22D3EE !important; animation: none !important; }
.gauge-ring-fill { stroke: #22D3EE !important; }
.budget-bar-fill { background: #9CA3AF !important; }
.rank-bronze, .rank-silver, .rank-gold, .rank-platinum, .rank-diamond {
             background: #EEF0F4 !important; color: #374151 !important; box-shadow: none !important; }
.cc-avatar, .ccr-gauge-bar::after { box-shadow: none !important; }
.ignite-overlay { display: none !important; }

/* ── 数値の等幅整列（金額・件数・ID の縦揃え） ── */
table td, table th, .kpi-value, .tnum, .mono, .td-primary { font-variant-numeric: tabular-nums; }

/* ── ライト基調のテーブル可読性 + フォーカス可視化（a11y） ── */
table thead th { background: var(--bg-surface); position: sticky; top: 0; z-index: 1; }
table tbody tr:hover { background: rgba(100,100,253,.04); }
:focus-visible { outline: 2px solid var(--violet); outline-offset: 2px; }

/* カードの純黒影を中立グレー影へ */
.card, .data-table-wrap, .kpi-card, .panel { box-shadow: var(--shadow-sm); }

/* ── Client BoostStatusMirror（read-only・無演出・シアン細バー） ── */
.cl-mirror { display: flex; align-items: center; gap: 10px; }
.cl-mirror-bar { flex: 1; height: 6px; border-radius: 999px; background: #EEF0F4; overflow: hidden; }
.cl-mirror-fill { height: 100%; border-radius: 999px; background: #22D3EE; transition: none; }
.cl-mirror-pct { font-size: 13px; font-weight: 700; color: var(--text-primary); min-width: 40px; text-align: right;
  font-variant-numeric: tabular-nums; }
.cl-mirror-meta { font-size: 12px; color: var(--text-muted); margin-top: 4px; display: flex; justify-content: space-between; }

/* ── 残予算警告 dot（80%=warn / 100%=crit・無演出） ── */
.budget-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; vertical-align: middle; }
.budget-dot.ok   { background: #22c55e; }
.budget-dot.warn { background: #f59e0b; }
.budget-dot.crit { background: #ef4444; }
.budget-note.warn { color: #B45309; font-weight: 700; }
.budget-note.crit { color: #B91C1C; font-weight: 700; }

/* ── 分析ダッシュボード サジェストカード（無演出） ── */
.an-suggest { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px;
  background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--r-md); }
.an-suggest-icon { font-size: 18px; flex-shrink: 0; line-height: 1.4; }
.an-suggest-title { font-size: 13px; font-weight: 700; margin-bottom: 2px; }
.an-suggest-body { font-size: 13px; color: var(--text-secondary); line-height: 1.6; }
#p-analytics th.an-sort:hover { color: var(--violet); cursor: pointer; }

/* 残り枠が少ないときの緊急テキスト（Client mirror・無演出） */
.cl-mirror-urgent { color: #B91C1C; font-weight: 700; }

/* 審査キュー キーボード操作（j/k/a/r）のフォーカス可視化 */
.approval-card.kbd-focus { outline: 2px solid var(--violet); outline-offset: 2px; border-radius: var(--r-md); }
.kbd-hint { display: inline-flex; gap: 10px; font-size: 12px; color: var(--text-muted); margin-left: var(--sp-3); }
.kbd-hint kbd { font-family: var(--font-mono); background: var(--bg-surface); border: 1px solid var(--border);
  border-radius: 4px; padding: 1px 6px; font-size: 11px; color: var(--text-secondary); }

/* ============================================================
   B2B ミニマルアイコン規定（2026-07 フェーズ2 デザイン統一）
   - ナビ・タイトルの絵文字は廃止。stroke SVG（currentColor）に統一
   - 動的コンテンツに残存する絵文字はモノクロ化で情緒を抑制
   ============================================================ */
.nav-item-icon svg, .cl-nav-icon svg { width: 16px; height: 16px; display: block; }
.nav-item-icon, .cl-nav-icon { display: flex; align-items: center; justify-content: center; color: currentColor; }
/* 残存絵文字のモノクロ化（テーブルセル・トースト等の動的出力向けフォールバック） */
.nav-item-icon:not(:has(svg)), .cl-nav-icon:not(:has(svg)),
.sidebar-user-avatar, .cl-user-avatar, .an-suggest-icon { filter: grayscale(1); opacity: .85; }
/* 数値は等幅整列（KPI・金額・テーブル） */
.kpi-val, .cl-kpi-val, td, .amount { font-variant-numeric: tabular-nums; }
/* 見出しの語頭アイコン枠（絵文字撤去後の余白リズム統一） */
.panel-title, .cl-panel-title, .modal-title { letter-spacing: .01em; }

/* ── B2B 太字上限（W9禁止・最大700） ──
   日本語ゴシックの weight:900 はディスプレイ調に描画され信頼感を損なうため、
   ops/client では boost.css 由来の 900 をすべて 700 に丸める。 */
h1, h2, h3, .section-title, .cl-section-title,
.campaign-card__reward, .payment-amount, .ignite-title, .text-black,
.ai-verdict-title, .ai-verdict-score, .ai-dim-val,
.cc-name, .cc-stat-val, .ccr-title, .ccr-reward, .ccr-pct,
.kpi-val, .cl-kpi-val, .roi-val, .cl-brand-company,
.sidebar-brand-text, .cl-brand-logo,
[style*="font-weight:900"], [style*="font-weight: 900"] {
  font-weight: 700 !important;
}
