/* コントロール */
.gazcsv .gazcsv-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.25rem 0 .5rem}
.gazcsv .gazcsv-controls .group{display:flex;gap:.5rem;align-items:center}
.gazcsv .gazcsv-controls button,
.gazcsv .gazcsv-controls select,
.gazcsv .gazcsv-controls input[type="text"]{padding:6px 10px;font-size:14px}
.gazcsv .gazcsv-controls button.active{ font-weight:700; text-decoration:underline; }
.gazcsv .gazcsv-muted{opacity:.7}

/* パネル（小さめUI） */
.gazcsv .gazcsv-panel{
  border:1px solid #ddd; border-radius:8px; padding:.4rem; margin:.5rem 0; background:#fff;
  font-size:12px; line-height:1.4;
}
.gazcsv .gazcsv-panel-inner{ display:flex; flex-direction:column; gap:.4rem; }
.gazcsv .gazcsv-panel-actions{ display:flex; gap:.4rem; flex-wrap:wrap; align-items:center; }
.gazcsv .gazcsv-limit{ font-size:11px; color:#555; padding:2px 6px; border:1px solid #ddd; border-radius:12px; }

/* 列チェック一覧 */
.gazcsv .gazcsv-freeze-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:.25rem; max-height:180px; overflow:auto; padding:.25rem; border:1px solid #ddd; border-radius:6px }
.gazcsv .gazcsv-checkrow{ display:flex; align-items:center; gap:.35rem; font-size:12px; }

/* 列名フィルタ */
.gazcsv .gazcsv-colops{ display:flex; align-items:center; gap:.5rem; justify-content:space-between; }
.gazcsv .gazcsv-colops input[type="text"]{ font-size:12px; padding:4px 6px; width:200px; }

/* ハイライト */
.gazcsv .gazcsv-highlight{ background:#fff8cc !important }

/* ローディング：hiddenは使わずクラス制御（pointer-eventsで誤ブロック回避） */
.gazcsv .gazcsv-loader{
  display:none;
  position:absolute; inset:0; background:rgba(255,255,255,.6);
  align-items:center; justify-content:center; z-index:10;
  pointer-events:none;
}
.gazcsv .gazcsv-loader.is-active{
  display:flex;
  pointer-events:auto;
}
.gazcsv .gazcsv-loader::before{
  content:""; width:28px; height:28px; border:3px solid #ccc; border-top-color:#333; border-radius:50%;
  animation:gazcsv-spin 1s linear infinite;
}
@keyframes gazcsv-spin { to { transform: rotate(360deg); } }

/* ==== AG Grid：縦の列セパレーターを表示 ==== */
/* 色は必要に応じて --gazcsv-col-border を上書きしてください */
.ag-theme-quartz {
  --gazcsv-col-border: #e2e8f0; /* デフォルトの縦線色（薄いグレー） */
}

/* 基本：各セルとヘッダーに右ボーダー */
.ag-theme-quartz .ag-header-cell,
.ag-theme-quartz .ag-header-group-cell,
.ag-theme-quartz .ag-cell {
  border-right: 1px solid var(--gazcsv-col-border);
}

/* 各コンテナの最後のセルは外側の線を消す（外枠が太くならないように） */
.ag-theme-quartz .ag-header-cell:last-child,
.ag-theme-quartz .ag-header-group-cell:last-child,
.ag-theme-quartz .ag-row .ag-cell:last-child {
  border-right: 0;
}

/* ピン留め（左）の“境界”には線を残す */
.ag-theme-quartz .ag-pinned-left-header .ag-header-cell:last-child,
.ag-theme-quartz .ag-pinned-left-cols-container .ag-cell:last-child {
  border-right: 1px solid var(--gazcsv-col-border);
}

/* ピン留め（右）の“境界”は左ボーダーを付ける（中央との境界が消えないように） */
.ag-theme-quartz .ag-pinned-right-header .ag-header-cell:first-child,
.ag-theme-quartz .ag-pinned-right-cols-container .ag-cell:first-child {
  border-left: 1px solid var(--gazcsv-col-border);
}

/* ==== クリック選択された行をハイライト ==== */
.ag-theme-quartz .ag-row.ag-row-selected .ag-cell {
  background: #eef4ff !important;  /* お好みで変更可 */
}

/* ==== 最上段の1行目を濃紺＆白字 ==== */
.ag-theme-quartz .gazcsv-firstrow .ag-cell {
  background: #212f99 !important;
  color: #fff !important;
}
.ag-theme-quartz .gazcsv-firstrow .ag-cell a {
  color: #fff !important;
  text-decoration: underline;
}

/* ==== 列を縦線で区切る（既に追加済みなら調整不要） ==== */
.ag-theme-quartz { --gazcsv-col-border: #e2e8f0; }
.ag-theme-quartz .ag-header-cell,
.ag-theme-quartz .ag-header-group-cell,
.ag-theme-quartz .ag-cell { border-right: 1px solid var(--gazcsv-col-border); }
.ag-theme-quartz .ag-header-cell:last-child,
.ag-theme-quartz .ag-header-group-cell:last-child,
.ag-theme-quartz .ag-row .ag-cell:last-child { border-right: 0; }
.ag-theme-quartz .ag-pinned-left-header .ag-header-cell:last-child,
.ag-theme-quartz .ag-pinned-left-cols-container .ag-cell:last-child { border-right: 1px solid var(--gazcsv-col-border); }
.ag-theme-quartz .ag-pinned-right-header .ag-header-cell:first-child,
.ag-theme-quartz .ag-pinned-right-cols-container .ag-cell:first-child { border-left: 1px solid var(--gazcsv-col-border); }
/* ==== ヘッダー行を濃紺＆白字 ==== */
/* Quartz テーマの変数で全域（テキスト・アイコン）に反映 */
.ag-theme-quartz {
  --ag-header-background-color: #212f99;
  --ag-header-foreground-color: #ffffff;
}

/* 念のためのフォールバック（テーマ変数が効かない場合でも強制） */
.ag-theme-quartz .ag-header,
.ag-theme-quartz .ag-header-cell,
.ag-theme-quartz .ag-header-group-cell,
.ag-theme-quartz .ag-pinned-left-header,
.ag-theme-quartz .ag-pinned-right-header {
  background: #212f99 !important;
  color: #ffffff !important;
}
.ag-theme-quartz .ag-header a { color: #ffffff !important; }

/* ==== 発売日が「未発売」のセルを薄い赤でハイライト ==== */
.ag-theme-quartz .gazcsv-unreleased-cell {
  background: #ffeaea !important; /* 薄い赤 */
}