/* ===========================================
   Access 明細行 完全一致版（Bootstrap 上書き）
   =========================================== */

/* 全体のフォントサイズを 14px に設定 */
body {
    font-family: "Meiryo UI", "MS UI Gothic", sans-serif;
    font-size: 14px !important;
}

/* アイコン＋文字ラベル付きアクションボタン（標準比60%サイズ）
   アイコンと文字の上下位置を中央揃えにするため inline-flex にする */
.btn-labeled {
    /* 2026-08-25、ユーザー指示で 0.6rem(9.6px) → 0.8rem(12.8px) に大きくした。
       確認・登録・キャンセルと同じ文字の大きさ（高さだけ32pxと28pxで差を付けている）。
       一番ボタンが多い画面（売上一覧の上部）でも横幅は約460pxで収まる */
    font-size: 0.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3em;
    /* 「確認 (右Ctrl)」のようにラベルが空白を含むと2段に折り返されてしまうため、
       必ず1段で表示する（2026-08-25、ユーザー指示） */
    white-space: nowrap;
}

/* ヘルプアイコンボタン（btn-sm 比60%サイズ） */
.btn-help-icon {
    font-size: 0.55rem;
}

/* 画面タイトルとヘルプアイコンの並び（全角2文字分の間隔） */
.part_name {
    display: flex;
    align-items: center;
}
/* .part_name 配下に限定せず、.help-icon-wrapper 単体で常に適用する
   （一覧画面のタイトル行は .part_name クラスを使わず d-flex align-items-center を
   直接書いているため、.part_name にスコープすると効かなかった） */
.help-icon-wrapper {
    margin-left: 2em;
}

/* 画面タイトル（ヘルプアイコン直前の見出し）を標準比120%サイズに拡大 */
h1:has(+ .help-icon-wrapper),
h6:has(+ .help-icon-wrapper),
h5:has(+ .help-icon-wrapper),
span:has(+ .help-icon-wrapper) {
    font-size: 1.2em;
}

/* ── キーヒントバー（2026-08-21、UX/UI評価レポート D-25。
   2026-08-26、伝票入力画面専用のstatic/css/entry_form.cssからこちらへ移設し、
   マスター一覧（entry_form.css未読み込み）でも使えるようにした）──
   F2・F9・右Ctrl・↑↓・Spaceなどの操作が画面のどこにも書かれておらず、
   ヘルプを開かないと存在に気付けなかった。Accessのファンクションキー表示に
   ならって画面下部に常時出す。目立ちすぎて邪魔にならないよう、
   小さめ・薄めの文字にしている。 */
.key-hint-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    /* 横（キーとキーの間）は 0.75rem のまま、縦（1段目と2段目の間）は
       その半分にする（2026-08-25、ユーザー指示） */
    column-gap: 0.75rem;
    row-gap: 0.375rem;
    font-size: 0.7rem;
    color: #6c757d;
    line-height: 1.6;
}
.key-hint-bar kbd {
    background: #f1f3f5;
    color: #343a40;
    border: 1px solid #ced4da;
    border-bottom-width: 2px;
    border-radius: 3px;
    padding: 0 0.25rem;
    font-size: 0.7rem;
    font-family: inherit;
}
.key-hint { white-space: nowrap; }

/* 2段組み（2026-08-25、ユーザー指示。1段目=基本操作・2段目=応用操作、
   一覧画面では1段目=一覧の操作・2段目=一括修正時）。
   1行を丸ごと使わせることで、キーの数に関わらず必ず2段になる。
   参照ダイアログの登録欄のように .key-hint-line を使わない呼び出し側は
   これまでどおり1段のまま。 */
.key-hint-line {
    flex: 1 1 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}
.key-hint-label {
    white-space: nowrap;
    font-weight: 600;
    color: #495057;
}
.key-hint-label::after { content: '：'; }

/* 一覧画面のキーヒントバーは、一覧テーブルの直下に置くため
   ページネーション行との間隔を少しだけ空ける（2026-08-26） */
.list-key-hint-bar {
    margin-top: 0.5rem;
}

/* マスター一覧（一括修正切替対応の5画面: 得意先・仕入先・現場・商品・担当者）で、
   通常時・一括修正時の表示の高さを揃える（2026-08-26、ユーザー指示。
   「切り替えたときの表示が最小限になるように」）。
   以前はvh（ビューポート高さ）指定だったが、ブラウザウィンドウの高さによって
   通常時（高さ指定なし）と一括修正時（55vh）の実際の高さが食い違い、
   切り替えるたびに画面が伸び縮みしていた。ブラウザの高さに依存しない固定pxに
   することで、常に同じ高さになる。
   530px は、通常時のページ件数（18件）ぶんの見出し+18行の実測値（約527.5px）に
   1〜2pxの余裕を持たせた値（1行の高さは font-size:0.78rem の table-sm で
   約27.7px、見出し行が約28.7px）。1ページの件数（master/views.py）を変えたら
   ここも実測し直すこと。 */
.master-list-scroll-area {
    max-height: 530px;
    overflow-y: auto;
}

/* フォント（Access に最も近い） */
.access-table {
    font-family: "Meiryo UI", "MS UI Gothic", sans-serif;
    font-size: 14px;
    table-layout: fixed;
    border-collapse: collapse;
}

/* ── 列幅リサイズを「割合」ではなく「絶対px」で機能させる ──
   Bootstrap の .table は width:100% を強制するため、table-layout:fixed の下では
   ドラッグで設定した列幅が実際のpx値ではなく他の列との「比率」として再配分されてしまい、
   狙った幅に調整しづらい。列カスタマイズ対応（data-list-key付き）テーブルのみ
   width:100%を外し、列幅の合計をそのまま表全体の幅にする。
   画面幅を超えた場合は表がつぶれず、親要素の横スクロールで見せる。 */
table[data-list-key] {
    width: auto;
}
/* overflow-x だけを auto にすると、CSS仕様により縦方向(overflow-y)が
   自動的に auto へ変換されてしまう（片方が visible・もう片方がvisible以外だと
   visible側もautoに格上げされる仕様）。これにより、この一覧テーブルの親要素が
   意図せず縦スクロールコンテナ化し、フィルタ結果表示直後にマウスホイールを
   回すと、明細部が少し上下にバウンドするだけでページ本体がスクロールされない
   不具合になっていた（2026-08-31、ユーザー報告・全一覧画面共通のCSSのため修正）。
   overflow-y に visible を指定すると、今度は仕様により overflow-x 側まで
   visible へ引きずられて横スクロールごと効かなくなってしまう（実機で確認済み）。
   縦方向は hidden にして「そもそもこの要素の中でスクロールさせない」ことで
   仕様上の相互変換を回避しつつ、横スクロールだけ auto のまま残す。 */
div:has(> table[data-list-key]) {
    overflow-x: auto;
    overflow-y: hidden;
}

/* フォントサイズ拡大（11→14px）に合わせてコンテナ幅を拡張 */
@media (min-width: 992px) {
    .container { max-width: 1220px; }
}
@media (min-width: 1200px) {
    .container { max-width: 1450px; }
}
@media (min-width: 1400px) {
    .container { max-width: 1680px; }
}

/* ── プロジェクト標準：一覧テーブルの行高 ──
   Bootstrap table-sm 相当（padding 4px）で統一する。
   access-table を使う全一覧画面に自動適用される。      */
.access-table tbody tr {
    height: 28px;
}

.access-table th,
.access-table td {
    padding: 4px 4px !important;
    border: 1px solid #C0C0C0 !important;
    line-height: 1.2 !important;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.access-table thead th {
    line-height: 1.5 !important;
}

/* 一覧テーブルの見出しを中央寄せ */
table.table thead tr th {
    text-align: center !important;
}

/* ── 一覧テーブル共通列クラス（全アプリ統一・デフォルトルール） ──
   table.table を持つ全テーブルで有効。access-table の有無を問わない。
   !important でテーブルレイアウトエンジンによる再配分を上書きする。
   ヘッダーは上の center !important がそのまま適用される（text-align はここで設定しない）。
   データ行（td）の配置は Bootstrap の text-center / text-start / text-end で制御する。  */
.col-ymd   { width: 100px !important; }
.col-denno { width:  65px !important; }
.col-tokcd { width:  65px !important; }
.col-toknm { width: 140px !important; }
.col-sircd { width:  65px !important; }
.col-gnbcd { width:  65px !important; }
.col-tancd { width:  45px !important; }
.col-tannm { width:  95px !important; }
.col-kbn   { width:  80px !important; }
.col-qty   { width:  90px !important; }
.col-tnk   { width: 100px !important; }
.col-amt   { width: 110px !important; }
.col-ara   { width: 100px !important; }
.col-tesuryo   { width: 90px !important; }

/* ── 得意先名・現場名 幅バランスルール（全アプリ・一覧/ダイアログ共通） ──
   得意先名と現場（名）が同一テーブルに同居する画面では、両方に .col-flex-name を付与し、
   幅は指定しない。table-layout:fixed の下で、固定幅列（.col-tokcd 等）を除いた
   残りの余白をこの2列で均等に分け合う。はみ出した文字列は折り返さず「…」で省略する。 */
.col-flex-name {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* ── 一覧テーブルの折り返し禁止・省略ルール（全アプリ共通。2026-08-09導入） ──
   一覧テーブルで列幅に収まらない文字列は折り返さず「…」で省略する。ホバーで
   全文を確認できるよう、テンプレート側で対象セルに title 属性も付与すること。
   表示はブラウザ標準の title ツールチップではなく、static/js/common.js の
   高速ツールチップ（イベント委譲・要素ごとの初期化コストなし）が担当する
   （標準の title は表示までの遅延をCSSから調整できないための例外的なJS導入）。
   操作列・チェックボックス列・短いコード列など元々折り返さない列には付与不要。 */
.cell-ellipsis {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* static/js/common.js の高速ツールチップ本体（.cell-ellipsis 用） */
.fast-tooltip {
    display: none;
    position: fixed;
    z-index: 3000;
    max-width: 360px;
    padding: 4px 8px;
    font-size: 0.78rem;
    line-height: 1.3;
    color: #fff;
    background-color: #333;
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    pointer-events: none;
    white-space: normal;
    word-break: break-word;
}

/* 空行で高さが潰れないように、透明な文字で高さを維持 */
.access-table td:empty::before {
    content: "\00a0";
    visibility: hidden;
}

/* ── sticky見出し対応テーブル共通クラス ──
   .access-table は border-collapse:collapse 前提で罫線を描画しているため、
   thead th を position:sticky にするとスクロール中にブラウザが境界の再描画に失敗し
   罫線が消えることがある。また .ui-refresh .access-table の角丸クリップ用
   overflow:hidden が残っていると、テーブル自身がsticky要素の基準になってしまい
   スクロールしても見出しが固定されない（テーブルごと流れてしまう）。
   .access-table と併用してこのクラスを付与すると、両方の問題を回避できる
   （border-collapse:separate に切り替えてth/td自身に罫線を持たせ、overflowを戻す）。 */
.access-table-sticky {
    /* .ui-refresh .access-table（角丸クリップ用）と同じ2クラス分の詳細度のため、
       読み込み順に関わらず確実に上書きされるよう !important を付与する */
    border-collapse: separate !important;
    border-spacing: 0;
    overflow: visible !important;
}
.access-table-sticky th,
.access-table-sticky td {
    border: 1px solid #C0C0C0;
}
.access-table-sticky thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: #f8f9fa;
    background-clip: padding-box;
    transform: translateZ(0);
}

/* ── Bootstrapの .table をそのまま使う一覧の sticky見出し ──
   border-collapse:collapse では水平方向の罫線がセルではなくテーブル側に帰属し、
   セル自身の border-top/bottom-width は 0 に解決される（実測: th・tdとも
   border-top-width が 0px、border-right-width だけ 1px）。そのため thead th を
   position:sticky にすると罫線が見出しと一緒に動かず、**見出しの上下の罫線が消えて
   スクロール中の文字がその隙間から透けて見える**（2026-08-12、マスターの一括変更
   画面で発生）。縦の罫線は 1px のまま残るため「縦線はあるのに横線だけ無い」状態になる。

   **対処は border-collapse:separate へ切り替えて th/td 自身に罫線を持たせること。**
   これが肝で、これをやらない限りセルの border-width は 0px のままなので、
   background-clip や transform だけ足しても罫線は戻らない（2026-08-12、
   最初に transform だけ入れて直らず、ユーザーの指摘で得意先元帳の実装に気付いた）。

   同じ手法を得意先元帳（templates/seikyu/tokuisaki_motodai.html の
   #motodai-left-table）と .access-table-sticky が既に使っており、実績がある。
   こちらは Bootstrap の .table / .table-bordered をそのまま使っている一覧
   （マスター各一覧）向けに、同じ内容をクラスとして切り出したもの。
   Bootstrap の `.table-bordered > :not(caption) > * > *`（詳細度 0,1,1）に
   打ち勝つよう、先頭に table を付けて詳細度を 0,1,2 にしている。 */
table.table-sticky-head {
    border-collapse: separate !important;
    border-spacing: 0;
    /* 左端はどのセルも持たないのでテーブル側で補う */
    border-left: 1px solid #c6c7c8;
}
/* separate では隣接セルの罫線が合成されないため、全辺に罫線を付けると
   1px+1px=2px の二重線になる。罫線を右と下だけに寄せて1pxに保つ
   （collapse だったときと同じ見た目になる） */
table.table-sticky-head > :not(caption) > * > * {
    border: 0;
    border-right: 1px solid #c6c7c8;
    border-bottom: 1px solid #c6c7c8;
}
/* 上端の罫線は見出しセル自身に持たせる。テーブルの border-top では
   スクロール時に一緒に流れてしまい、固定された見出しの上に線が残らない */
table.table-sticky-head thead th {
    border-top: 1px solid #c6c7c8;
}
.table-sticky-head thead th {
    /* 背景をセルの外へ滲ませない（罫線の上に背景がかぶるのを防ぐ） */
    background-clip: padding-box;
    /* 見出しを独立した合成レイヤーに乗せ、スクロール中の再描画漏れ
       （＝罫線があるべき場所に、通り過ぎた行の文字が残って見える現象）を防ぐ */
    transform: translateZ(0);
}

/* ── フィルタバーの境界色 ──
   従来 list_filter.html にインライン style="border:1px solid green !important"
   で書かれていた緑枠を、上書き可能な CSS 変数へ移したもの。
   .ui-refresh スコープ下では --filter-border-color を上書きして新配色にする。

   2026-08-25、色の見え方の点検で緑（green＝#008000）から紺（#2f5597）に変えた。
   緑は、2型（緑が見分けにくい）の見え方だと削除・エラーの赤（#dc3545）と
   ほとんど同じ色に見える（色差 117 → 12）ため。紺なら赤とも十分離れている。 */
.filter-row {
    border: 1px solid var(--filter-border-color, #2f5597) !important;
}

/* 一覧キーボードナビゲーション: 選択行ハイライト */
tbody tr[data-detail-url] {
    cursor: pointer;
}
/* Bootstrap 5 は --bs-table-bg-state の box-shadow inset でホバー背景を描画する。
   active 行は background-color と box-shadow を直接上書きして確実に表示させる。 */
/* 一括修正モードの行（.list-row-pointer）も、他の一覧と同じ青で指す
   （2026-08-25、ユーザー指示。それまではBootstrap既定の薄い灰色だった）。
   色を付けるのは common.js が管理する .list-row-active の1行だけにしている。
   CSSの :hover でも青くすると、上下矢印で行を移したときにマウスが乗っている行も
   青いままになり、青い行が2つに見えてしまう（同日、ユーザー指摘）。 */
tbody tr.list-row-active {
    outline: 2px solid #0d6efd;
    outline-offset: -2px;
}
tbody tr.list-row-active > td,
tbody tr.list-row-active > th {
    background-color: #cfe2ff !important;
    box-shadow: none !important;
}
tbody tr.list-row-pointer {
    cursor: pointer;
}
/* 上下矢印で行を選んでいる間は、マウスが乗っている行の薄い灰色も消す
   （マウスの位置に指しているような見た目が残らないようにする。
   body.keyboard-row-nav は common.js が付け外しする） */
body.keyboard-row-nav tbody tr:hover:not(.list-row-active) > td,
body.keyboard-row-nav tbody tr:hover:not(.list-row-active) > th {
    background-color: inherit !important;
    box-shadow: none !important;
}
/* 合計請求一覧の絞込合計欄：外枠の罫線だけ通常の2倍太くする（内側のセル罫線は変えない。
   border-collapse:collapse下では隣接罫線のうち太い方が優先されるため、table要素自体に
   borderを指定するだけで外枠だけ太くできる。2026-08-09、合計請求一覧のみユーザー指示） */
.totals-box-thick-outer {
    border: 2px solid var(--bs-border-color, #dee2e6) !important;
}

/* 数量・単価の小数点位置揃え（common_tags.py の decimal_align フィルタ用） */
.dec-align {
    display: inline-flex;
    width: 100%;
    justify-content: flex-end;
    font-variant-numeric: tabular-nums;
}
.dec-align .dec-int {
    text-align: right;
    white-space: nowrap;
}
.dec-align .dec-sep {
    width: 0.5ch;
    text-align: center;
    flex: none;
}
.dec-align .dec-frac {
    text-align: left;
    white-space: nowrap;
    flex: none;
}

/* 一覧フィルタの排他選択欄（締め日プルダウン⇔年月入力など）の
   非アクティブ側の見た目。disabled にはせずクリックで再選択できるようにする */
.list-filter-inactive {
    opacity: 0.5;
    background-color: #e9ecef;
}

/* 「選択行をPDF出力」ボタン（売上一覧・合計請求一覧）。
   標準の disabled 属性は pointer-events:none を伴い hover が一切効かなくなるため、
   行未選択時も他のアイコンボタンと同じ赤反転ホバーが見えるよう disabled は使わず、
   data-active="false" の見た目（半透明）＋クリック抑止をJS側で行う（2026-07-28） */
.bulk-pdf-btn[data-active="false"] {
    opacity: 0.5;
}

/* ── 明細行の「＋」「－」ボタン（2026-08-21、UX/UI評価レポート D-14）──
   従来は 11×12px・文字7.2px で、WCAG 2.2 の最小ターゲット 24×24px を大きく下回り
   狙いにくかった。行番号列の幅（20px）は詰まった表の見た目を保つため広げられないので、
   高さ方向を使って当たり判定を広げ、＋と－を上下に離して誤操作を減らす。
   （行削除には確認ダイアログがあるため、誤って消えること自体は元から防げている） */
.row-insert-btn,
.row-delete-btn {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 20px;
    padding: 0;
    font-size: 0.7rem;
    line-height: 20px;
    border: none;
    background: transparent;
    border-radius: 3px;
    cursor: pointer;
}
.row-insert-btn { top: 0; color: #198754; }
.row-delete-btn { bottom: 0; color: #dc3545; }
.row-insert-btn:hover { background: #d1e7dd; }
.row-delete-btn:hover { background: #f8d7da; }

/* ── 行番号と「＋」「－」の配置（2026-08-22、ユーザー指定のレイアウトに変更）──
   左に行番号、その右に縦線をはさんで「－」（上）「＋」（下）を縦に並べる。
   －と＋の間に横線は引かない（ユーザー指示「薄い罫線は透明でいい」）。
   明細が1段の表でも2段（rowspan=2）の表でも同じ見た目になるよう、
   セル全体に重ねた flex で高さいっぱいに広げ、ボタンは高さを等分する。

   日報・売上・仕入・入金・支払・見積の6画面すべてに適用済み
   （2026-08-22。日報・見積で先行導入し、同日に残り4画面へ横展開した）。
   新しく明細入力画面を作る場合も、この形（.row-no-cell / .row-no-wrap）に合わせること。 */
.row-no-cell { position: relative; padding: 0 !important; }
.row-no-wrap {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: stretch;
}
.row-no {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    font-size: 0.75rem;
    color: #666;
}
.row-no-btns {
    display: flex;
    flex-direction: column;
    width: 22px;
    /* ＋－と行番号を仕切る縦線。表の他のセルの罫線と同じ薄さにする
       （2026-08-22、ユーザー指示「薄い色の罫線にして」。当初は #333 の濃い線だった）。
       ボタンは行番号の左に置くため、線は右側に引く（同日、ユーザー指示で左右を入れ替え） */
    border-right: 1px solid #ddd;
}
/* 上の共通指定は絶対配置なので、この並びでは縦積みの flex アイテムに戻す。
   flex:1 で高さを等分するため、1段の表では小さく、2段の表では大きくなる */
.row-no-btns .row-insert-btn,
.row-no-btns .row-delete-btn {
    position: static;
    transform: none;
    width: 100%;
    height: auto;
    flex: 1 1 0;
    min-height: 14px;
    line-height: 1;
}


/* ── 商品参照ダイアログの単価セル（2026-08-22）──
   小数点を揃える .dec-align は width:100% でセル幅いっぱいを占めるため、
   その前に「約」を置くと合計幅がセルを超え、セル側の text-overflow が働いて
   「約…」としか表示されなくなる。セルを横並びにして、
   「約」と数字が並んで収まるようにする。 */
.msyo-tnk-cell {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
}
.msyo-tnk-cell .tnk-approx { flex: none; }
.msyo-tnk-cell .dec-align { flex: 1 1 auto; min-width: 0; }


/* ── 明細行の「粗利 / 備考」列（2026-08-24、ユーザー指示で日報の明細に新設）──
   1つの列を上下で分け、上段に粗利・下段に明細備考を置いている。
   備考の入力欄はHTMLの並び順の都合で必ず下段のセルに置くこと（上段に rowspan で置くと
   Enterでの移動が「単価 → 備考 → 仕様」という不自然な順序になるため。詳しい理由は
   templates/nippo/partials/meisai_row.html のコメント）。 */
.mei-rem-cell-bottom { vertical-align: middle; }


/* ── 得意先と現場は「対」の項目（2026-08-24、ユーザー指示）──
   現場は得意先ごとに登録されているため、2つで1組であることが
   ひと目で分かるように、入力欄そのものを薄い緑にする。
   （当初は欄を囲む枠ごと緑にしていたが、同日ユーザー指示で欄自体に変更した）
   使用不可・読み取り専用のときのグレー（.form-control:disabled 等）は
   そちらのほうが詳しい指定のため、こちらに上書きされない。 */
.tok-gnb-pair {
    background-color: #e8f5e9;
    /* 色だけでなく左端の帯でも「対」だと分かるようにする
       （2026-08-25、色の見え方の点検。薄い緑は白との明るさの差が1.12倍しかなく、
       色の見え方に関わらずほとんど気付けなかった） */
    border-left: 3px solid #2e7d32;
}


/* ── 参照ダイアログの中の「現場を追加」欄（2026-08-24、ユーザー指示）──
   「現場を追加」にチェックを入れたときだけ出す。表示・非表示は
   インラインの display だけで切り替えるので、見た目はここにまとめておく。 */
.lookup-create-box {
    margin-bottom: 12px;
    padding: 8px;
    background: #f6fbf6;
    border: 1px solid #cfe6cf;
    border-radius: 4px;
}


/* ── 参照ダイアログの一覧（2026-08-25、ユーザー報告で修正）──
   見出しを固定（position:sticky）した表で border-collapse:collapse を使うと、
   横の罫線はセルではなく表側に帰属するため、見出しと一緒に動く罫線をセルが持たない。
   その結果、マウスホイールでスクロールすると見出しの上下の罫線が消え、
   そこに通り過ぎた行の文字が細く残って見える。
   （同じ現象と対処は CLAUDE.md の「sticky見出しの罫線が消えるとき」節を参照。
   一覧側は .table-sticky-head・.access-table-sticky が同じ作りになっている）

   separate に変えて、罫線をセル自身に持たせる。全辺に付けると隣接セルの罫線が
   合成されず二重線になるので、右と下だけに寄せ、左端は表の border-left、
   上端は見出しセルの border-top で補う。 */
table.lookup-result-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    line-height: 1.55;
    border-left: 1px solid #ddd;
}
table.lookup-result-table > :not(caption) > * > * {
    border: 0;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
/* 上端の罫線は見出しセル自身に持たせる（表の border-top ではスクロールで流れてしまう） */
table.lookup-result-table thead th {
    border-top: 1px solid #ddd;
    /* 背景をセルの外へ滲ませない・スクロール中の再描画漏れを防ぐ */
    background-clip: padding-box;
    transform: translateZ(0);
}


/* ── 参照ダイアログの登録欄の項目名（2026-08-25、ユーザー指示）──
   「得意先」「現場名」という項目名が、その右に並ぶ得意先コード・得意先名と
   同じ色で区別しにくかったため、紺色にして見分けられるようにする。

   目立たせる必要は無い（「無いよりあった方がよい」程度）というユーザーの指示により、
   太字にはせず、色だけを変えている。濃紺（#1f3864）は黒との差が出にくかったため
   少し明るい紺（#2f5597）にした。 */
.lookup-create-label {
    color: #2f5597;
}


/* ── ツールバーのアイコンの大きさ（2026-08-25、ユーザー指示）──
   文字ラベルの大きさ（.btn-labeled = 0.6rem）はそのままに、
   アイコンだけを見やすい大きさにする。

     12px … ヘルプ・一覧へ・PDF（見に行く／出力する操作）
     14px … 確認・登録・キャンセル（入力を進める操作。少し大きくして目立たせる）

   新しいボタンを作るときも、この2つのどちらかに合わせること。 */
.btn-help-icon .bi,
.btn-labeled .bi {
    /* ヘルプ・一覧へ・PDF・新規登録など（2026-08-25、ユーザー指示で12px→16px） */
    font-size: 16px;
}
/* 確認・登録・キャンセルは14px（あとに書いて上書きする） */
.btn .bi-clipboard-check,
.btn .bi-check-lg,
.btn .bi-x-lg {
    font-size: 14px;
}

/* ── ボタンの高さをそろえる（2026-08-25、ユーザー指示）──
   画面タイトルの行に並ぶボタンは、btn-sm が付いているもの（PDFなど）と
   付いていないもの（新規登録）が混ざっていて高さがバラバラだった。
   ヘルプアイコンも含めて同じ高さにする。 */
.btn-labeled,
.btn-help-icon {
    min-height: 28px;
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
}
.btn-help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}


/* ── 確認・登録・キャンセルだけ少し大きくする（2026-08-25、ユーザー指示）──
   支払集計の「集計実行」ボタン（Bootstrap標準の大きさ＝文字16px・高さ約38px）が
   見やすいという声があり、その大きさと今までの大きさ（文字9.6px・高さ26px）の
   ちょうど中間にした。

   対象は入力を確定させる3つのボタンだけ。一覧や上部の「新規登録」「PDF」などは
   今までどおり（数が多い画面で横に入りきらなくなるため）。
   キー操作の案内も今までどおりの大きさ。

   新しく確認・登録・キャンセルのボタンを作るときは、ここに書いてある id を使うこと。 */
#confirm-btn,
#register-btn,
#submit-btn,
#cancel-btn,
#lookup-create-confirm,
#lookup-create-register,
#lookup-create-cancel {
    font-size: 0.8rem;          /* 12.8px（9.6px と 16px の中間） */
    min-height: 32px;           /* 26px と 38px の中間 */
    padding: 0.26rem 0.6rem;
}


/* ── 色の見え方への配慮（2026-08-25、カラーユニバーサルデザインの点検で判明）──
   docs/カラーユニバーサルデザイン点検.md 参照 */

/* 使用不可のマスターの行。以前は text-muted＋opacity:0.5 で実質 #9aa0a6 になり、
   白との明るさの比が 2.64:1 しか無くて読めなかった（目安は 4.5:1）。
   半透明をやめ、読める濃さの灰色にする。使用可能区分の列に文字も出ているので、
   色だけで意味を伝えてはいない */
tr.row-disabled,
tr.row-disabled > td,
tr.row-disabled > th {
    color: #6c757d;      /* 白との比 4.69:1 */
}

/* 明細の粗利（緑の太字）。薄い灰色の背景の上で 4.30:1 だったので少し濃くする */
.ara-amt-input.text-success {
    color: #146c43 !important;   /* 薄い灰色との比 5.3:1 */
}

/* 参照ダイアログの登録欄の見出し「新規登録」。薄い緑の上で 4.30:1 だった */
.lookup-create-title {
    color: #0a58ca;      /* 薄い緑との比 5.6:1 */
    font-weight: 700;
}
