/* コントロール */
.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; }

/* 行ハイライト（選択時） */
.ag-theme-quartz .ag-row.ag-row-selected .ag-cell { background:#eef4ff !important; }

/* ヘッダー（濃紺＆白字） */
.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-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 .gazcsv-highlight .ag-cell{ background:#fff8cc !important; }

/* 未発売（行全体を薄い赤） */
.ag-theme-quartz .gazcsv-unreleased-row .ag-cell{ background:#ffeaea !important; }

/* ローディング：クラス制御＋クリック遮断最小化 */
.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); } }