@charset "UTF-8";
@reference "app/assets/stylesheets/application.tailwind.css";
/* line 2, ../../../usr/local/bundle/ruby/3.1.0/gems/simple_calendar-3.0.2/app/assets/stylesheets/simple_calendar.scss */
.simple-calendar table {
  -webkit-border-horizontal-spacing: 0px;
  -webkit-border-vertical-spacing: 0px;
  background-color: rgba(0, 0, 0, 0);
  border: 1px solid #dddddd;
  border-collapse: collapse;
  box-sizing: border-box;
  max-width: 100%;
  width: 100%;
}

/* line 13, ../../../usr/local/bundle/ruby/3.1.0/gems/simple_calendar-3.0.2/app/assets/stylesheets/simple_calendar.scss */
.simple-calendar tr {
  border-collapse: collapse;
}

/* line 17, ../../../usr/local/bundle/ruby/3.1.0/gems/simple_calendar-3.0.2/app/assets/stylesheets/simple_calendar.scss */
.simple-calendar th {
  padding: 6px;
  border-bottom: 2px solid #dddddd;
  border-collapse: collapse;
  border-left: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
  border-top: 0px none #333333;
  box-sizing: border-box;
  text-align: left;
}

/* line 28, ../../../usr/local/bundle/ruby/3.1.0/gems/simple_calendar-3.0.2/app/assets/stylesheets/simple_calendar.scss */
.simple-calendar td {
  padding: 6px;
  vertical-align: top;
  width: 14%;
  border: 1px solid #ddd;
  border-top-color: #dddddd;
  border-top-style: solid;
  border-top-width: 1px;
  border-right-color: #dddddd;
  border-right-style: solid;
  border-right-width: 1px;
  border-bottom-color: #dddddd;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-left-color: #dddddd;
  border-left-style: solid;
  border-left-width: 1px;
}

/* line 48, ../../../usr/local/bundle/ruby/3.1.0/gems/simple_calendar-3.0.2/app/assets/stylesheets/simple_calendar.scss */
.simple-calendar .calendar-heading nav {
  display: inline-block;
}

/* line 52, ../../../usr/local/bundle/ruby/3.1.0/gems/simple_calendar-3.0.2/app/assets/stylesheets/simple_calendar.scss */
.simple-calendar .day {
  height: 80px;
}

/* line 64, ../../../usr/local/bundle/ruby/3.1.0/gems/simple_calendar-3.0.2/app/assets/stylesheets/simple_calendar.scss */
.simple-calendar .today {
  background: #FFFFC0;
}

/* line 73, ../../../usr/local/bundle/ruby/3.1.0/gems/simple_calendar-3.0.2/app/assets/stylesheets/simple_calendar.scss */
.simple-calendar .prev-month {
  background: #DDD;
}

/* line 76, ../../../usr/local/bundle/ruby/3.1.0/gems/simple_calendar-3.0.2/app/assets/stylesheets/simple_calendar.scss */
.simple-calendar .next-month {
  background: #DDD;
}

/* line 4, app/assets/stylesheets/custom_style.scss */
:root {
  --dark: #1f87f0;
}

/* line 8, app/assets/stylesheets/custom_style.scss */
h1 {
  color: var(--dark);
  font-size: x-large;
}

/* line 13, app/assets/stylesheets/custom_style.scss */
table {
  border: 0px solid black;
  @apply bg-red-400;
}

/* line 18, app/assets/stylesheets/custom_style.scss */
div:has(table) {
  border: 1px;
}

/* 入金CSV 検証結果など、列の多い表を局所的に横スクロールさせるラッパ（#13430 C3 / Codex review #84398 Medium-1）。
   表だけを overflow-x: auto に収め、ページ（#main）・警告・操作ボタンが viewport 幅を超えて横に広がらないようにする。 */
/* line 24, app/assets/stylesheets/custom_style.scss */
.table_scroll {
  overflow-x: auto;
  max-width: 100%;
}

/* 送付先情報マトリクス表示用スタイル */
/* wrapper には overflow を持たせない。overflow を持つ要素は sticky の祖先 scroll container になり、
   `overflow-x: auto; overflow-y: visible` のような片寄せ指定は CSS仕様で visible 側が auto に補正されて
   sticky が window スクロールに追従しなくなるため */
/* line 33, app/assets/stylesheets/custom_style.scss */
.recipient-matrix {
  font-size: 0.9rem;
  /* #14861: 重複宣言を集約（背景/太字/padding/中央寄せを共有 selector にまとめ、差分だけ個別化）。 */
}

/* line 36, app/assets/stylesheets/custom_style.scss */
.recipient-matrix thead th {
  position: sticky;
  top: 0;
  z-index: 10;
}

/* line 43, app/assets/stylesheets/custom_style.scss */
.recipient-matrix .template-header,
.recipient-matrix .send-type-header,
.recipient-matrix .template-name,
.recipient-matrix .matrix-cell.unavailable {
  background-color: #f8f9fa;
}

/* line 50, app/assets/stylesheets/custom_style.scss */
.recipient-matrix .template-header,
.recipient-matrix .send-type-header,
.recipient-matrix .template-name {
  font-weight: bold;
  padding: 0.75rem;
}

/* line 57, app/assets/stylesheets/custom_style.scss */
.recipient-matrix .template-header,
.recipient-matrix .send-type-header,
.recipient-matrix .matrix-cell {
  text-align: center;
  vertical-align: middle;
}

/* line 64, app/assets/stylesheets/custom_style.scss */
.recipient-matrix .template-name {
  white-space: nowrap;
}

/* line 68, app/assets/stylesheets/custom_style.scss */
.recipient-matrix .matrix-cell {
  padding: 0.5rem;
  min-width: 120px;
}

/* line 72, app/assets/stylesheets/custom_style.scss */
.recipient-matrix .matrix-cell .form-check-input {
  cursor: pointer;
  width: 1.2rem;
  height: 1.2rem;
}

/* line 78, app/assets/stylesheets/custom_style.scss */
.recipient-matrix .matrix-cell .badge {
  font-size: 0.75rem;
  margin-left: 0.25rem;
}

/* 送付先情報詳細フォーム */
/* line 86, app/assets/stylesheets/custom_style.scss */
.address_form_wrapper {
  margin-top: 2rem;
}

/* line 89, app/assets/stylesheets/custom_style.scss */
.address_form_wrapper h3 {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}

/* line 94, app/assets/stylesheets/custom_style.scss */
.address_form_wrapper .text-muted {
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

/* line 99, app/assets/stylesheets/custom_style.scss */
.address_form_wrapper .address_form {
  border: 1px solid #dee2e6;
  transition: all 0.3s ease;
}

/* line 103, app/assets/stylesheets/custom_style.scss */
.address_form_wrapper .address_form:hover {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* line 107, app/assets/stylesheets/custom_style.scss */
.address_form_wrapper .address_form.border-danger {
  border: 2px solid #dc3545;
}

/* line 110, app/assets/stylesheets/custom_style.scss */
.address_form_wrapper .address_form.border-danger .card-header {
  border-bottom-color: #dc3545;
}

/* line 115, app/assets/stylesheets/custom_style.scss */
.address_form_wrapper .address_form .card-header {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #dee2e6;
}

/* line 120, app/assets/stylesheets/custom_style.scss */
.address_form_wrapper .address_form .form-label {
  /* #14861: application.tailwind.css の幅指定をここへ集約（input の @apply は Tailwind 側に残す）。 */
  width: 200px;
  min-width: 200px;
  display: block;
  font-weight: 600;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
}

/* line 130, app/assets/stylesheets/custom_style.scss */
.address_form_wrapper .address_form .form-control:disabled {
  background-color: #e9ecef;
  cursor: not-allowed;
}

/* line 135, app/assets/stylesheets/custom_style.scss */
.address_form_wrapper .address_form textarea.form-control {
  border: 1px solid #000;
}

/* line 139, app/assets/stylesheets/custom_style.scss */
.address_form_wrapper .address_form .invalid-feedback {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #dc3545;
}

/* 検査機関予約一覧（medical_appointments#index）の統計サマリーカード。#14859（旧 .summary-stats-grid /
   issue_8854 を置換）: 1画面専用の固定5列 .summary-stats-grid（View内 Tailwind utility 依存）を、
   View規約準拠の独自 class + desktop/mobile responsive（auto-fit で自然折り返し・固定列数なし）へ置換する。
   NOTE: カード箱の見た目（bg-white / rounded / shadow / border）は input_files カード・pickup_requests
   行カード・specimen_id_form 等でも重複している。共通カード箱 primitive への抽出と各画面移行は #14852 の
   CSS 共通化子チケットで扱う（本チケット scope 外）。 */
/* line 154, app/assets/stylesheets/custom_style.scss */
.summary_cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

/* line 161, app/assets/stylesheets/custom_style.scss */
.summary_card {
  padding: 1rem;
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

/* line 170, app/assets/stylesheets/custom_style.scss */
.summary_card__label {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6b7280;
  /* gray-500 */
}

/* line 177, app/assets/stylesheets/custom_style.scss */
.summary_card__value {
  margin: 0.25rem 0 0;
  font-size: 1.5rem;
  font-weight: 700;
}

/* 件数の色による意味づけ（従来の Tailwind text-*-600 と同義の tone modifier）。 */
/* line 184, app/assets/stylesheets/custom_style.scss */
.summary_card__value--info {
  color: #2563eb;
  /* blue-600: 総数など */
}

/* line 188, app/assets/stylesheets/custom_style.scss */
.summary_card__value--success {
  color: #16a34a;
  /* green-600: 本日など */
}

/* line 192, app/assets/stylesheets/custom_style.scss */
.summary_card__value--warning {
  color: #ea580c;
  /* orange-600: 今後など */
}

/* line 196, app/assets/stylesheets/custom_style.scss */
.summary_card__value--muted {
  color: #4b5563;
  /* gray-600: 完了など */
}

/* line 200, app/assets/stylesheets/custom_style.scss */
.summary_card__value--danger {
  color: #dc2626;
  /* red-600: キャンセルなど */
}

/* 会計画面の内容領域を切り替える共通タブ（#11997 で mc_ prefix 導入、#14857 で汎用命名へ改名）。
   invoice show / monthly closing 系 / payment reconciliation で共用する project-local primitive。
   月次集計固有ではないため mc_ prefix を廃し content_ へ改名した（見た目・margin・active 描画は不変）。 */
/* line 207, app/assets/stylesheets/custom_style.scss */
.content_tabs {
  display: flex;
  gap: 0.25rem;
  border-bottom: 1px solid #e5e7eb;
  margin: 1rem 0;
}

/* recalculation だけタブ数が多く 1 行に収まらないため折り返す。
   #14857 以前は対象 view に Tailwind utility `flex-wrap` を直書きしていたが、View 規約（Tailwind 禁止）
   に合わせ modifier class として集約した（global .content_tabs は nowrap のまま不変）。 */
/* line 217, app/assets/stylesheets/custom_style.scss */
.content_tabs--wrap {
  flex-wrap: wrap;
}

/* line 221, app/assets/stylesheets/custom_style.scss */
.content_tab {
  padding: 0.5rem 1rem;
  background: #f8fafc;
  color: #64748b;
  border: 1px solid transparent;
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  cursor: pointer;
  font-size: 0.875rem;
}

/* line 232, app/assets/stylesheets/custom_style.scss */
.content_tab.is-active {
  background: #fff;
  color: #111827;
  font-weight: 600;
  border-color: #e5e7eb;
  border-bottom: 2px solid #2563eb;
}

/* 請求書詳細（#11998）: 請求ヘッダの項目名と値を同一行に表示 */
/* line 241, app/assets/stylesheets/custom_style.scss */
.invoice_header_kv {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 1rem;
  row-gap: 0.5rem;
  align-items: start;
  margin-top: 0.5rem;
}

/* line 250, app/assets/stylesheets/custom_style.scss */
.invoice_header_kv dt {
  color: #374151;
  font-weight: 600;
  white-space: nowrap;
}

/* line 256, app/assets/stylesheets/custom_style.scss */
.invoice_header_kv dd {
  color: #111827;
  min-width: 0;
  overflow-wrap: anywhere;
}

/* line 263, app/assets/stylesheets/custom_style.scss */
.mc_table_caption {
  margin: 1rem 0 0.4rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #374151;
}

/* 初回集計 / 再集計 判定カード領域（検索欄の下・タブの上。レイアウト確認用ダミー。#11997 journal #64595） */
/* line 272, app/assets/stylesheets/custom_style.scss */
.mc_mode_notice {
  margin: 1rem 0 1.5rem;
  padding: 0.75rem 1rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

/* card_container 内の各カードに左アクセントを付け、初回集計/再集計を視覚的に区別しやすくする */
/* line 281, app/assets/stylesheets/custom_style.scss */
.mc_mode_card {
  border-left: 3px solid #2563eb;
}

/* 初回集計＝新規（青）/ 再集計＝既存差分（橙）でアクセント色を分け、判定結果を一目で区別できるようにする */
/* line 286, app/assets/stylesheets/custom_style.scss */
.mc_mode_card_initial {
  border-left-color: #2563eb;
}

/* line 290, app/assets/stylesheets/custom_style.scss */
.mc_mode_card_recalculation {
  border-left-color: #f59e0b;
}

/* 再集計カードの件数は note より目立つ通常サイズで表示する（journal #64717） */
/* line 295, app/assets/stylesheets/custom_style.scss */
.mc_mode_count {
  margin: 0.25rem 0;
  font-size: 1rem;
  font-weight: 600;
  color: #111827;
}

/* 再集計カード: 件数表示と「一覧で確認」導線を同一行（真横）に並べる（journal #65635 / #65720 / #65735）。
   .card_container の子孫 div には daisyUI card-body（flex-direction: column）が
   `.card_container div div` の高 specificity で当たり、件数とボタンが縦積みになっていた（review #65735 指摘1）。
   .mc_mode_card 配下で specificity を上げ、横並び（row）・件数直後にボタンを保つ。 */
/* line 306, app/assets/stylesheets/custom_style.scss */
.mc_mode_card .mc_mode_count_row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: 0.25rem 0;
  /* 長い件数文言は内部で折り返してよいが、ボタンは縮めず件数の真横に保つ（縦に落とさない）。 */
}

/* line 315, app/assets/stylesheets/custom_style.scss */
.mc_mode_card .mc_mode_count_row .mc_mode_count {
  min-width: 0;
}

/* line 319, app/assets/stylesheets/custom_style.scss */
.mc_mode_card .mc_mode_count_row .btn_show {
  flex: 0 0 auto;
}

/* 比較特殊 show（journal #65632）: セクション見出しを目立たせ、横に関連ボタンを並べる */
/* line 325, app/assets/stylesheets/custom_style.scss */
.mc_compare_section_header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1.25rem 0 0.5rem;
}

/* line 332, app/assets/stylesheets/custom_style.scss */
.mc_compare_section_header h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: #111827;
}

/* 比較テーブル（比較特殊 show の検査依頼比較 / 価格比較。共通構造・共通CSS。journal #65632 / #65792）。
   normal_table は sticky 先頭/末尾列を白背景で塗り table-zebra の縞を打ち消すため、3列の小さな比較表では
   末尾の「新」列だけ縞が効かず（旧は中央列で縞が残る）、table-auto で旧/新の幅も内容依存でズレていた。
   ここでは当該列の sticky を解除し、項目列は内容幅、旧/新は等幅・同じ縞模様にし、変更セルは行全体ではなく
   旧/新の両セルを強調する（review #65792）。normal_table の sticky 由来 th/td 規則（specificity 0,2,1）を
   確実に上書きするため `table.mc_compare_table` で起点の specificity を上げる。 */
/* line 346, app/assets/stylesheets/custom_style.scss */
table.mc_compare_table {
  table-layout: fixed;
  /* 項目列: 内容幅・常に白。強調対象にしない。 */
  /* 旧 / 新: 等幅（table-layout: fixed で項目列以外を均等割り）。sticky 白背景を解除し、
     両列に同じ縞模様を効かせる（末尾列だけ縞が消えないようにする）。 */
  /* ヘッダの項目 / 旧 / 新を同じ見た目に揃える（normal_table の th:last-child=#aaa を打ち消す）。 */
}

/* line 350, app/assets/stylesheets/custom_style.scss */
table.mc_compare_table .mc_compare_label_cell {
  width: 9rem;
  white-space: nowrap;
}

/* line 354, app/assets/stylesheets/custom_style.scss */
table.mc_compare_table td.mc_compare_label_cell {
  position: static;
  background: #fff;
}

/* line 361, app/assets/stylesheets/custom_style.scss */
table.mc_compare_table td.mc_compare_value_cell {
  position: static;
  white-space: normal;
}

/* line 365, app/assets/stylesheets/custom_style.scss */
table.mc_compare_table tbody tr:nth-child(odd) td.mc_compare_value_cell {
  background: #fff;
}

/* line 368, app/assets/stylesheets/custom_style.scss */
table.mc_compare_table tbody tr:nth-child(even) td.mc_compare_value_cell {
  background: #f3f4f6;
}

/* line 373, app/assets/stylesheets/custom_style.scss */
table.mc_compare_table th.mc_compare_label_cell,
table.mc_compare_table th.mc_compare_value_cell {
  position: static;
  background: #1f87f0;
}

/* 変更セル強調（共通。#14860）。!important は normal_table の zebra / sticky 背景へ勝つために要る
   （無いと比較表のゼブラに負けて平常時から色が出ない）。hover 行ハイライトは hover 側が上位のため
   一時的に上書きされるが、簡潔さを優先して個別 override は置かない（owner 判断）。 */
/* line 383, app/assets/stylesheets/custom_style.scss */
.normal_table tbody td.table_cell_changed {
  background: #fde68a !important;
  /* amber-200 */
  font-weight: 600;
}

/* 差分明細タブの「理由/変更項目」カラム（journal #65823）。差分種別セル内併記を廃止し独立カラム化した。
   原因文言は長くなり得るため、normal_table の td:nowrap（specificity 0,1,1）を確実に解除して折り返し可・
   上限幅にする（.mc_diff_table 起点で specificity を上げる）。 */
/* line 391, app/assets/stylesheets/custom_style.scss */
.mc_diff_table td.mc_diff_reason_cell {
  white-space: normal;
  min-width: 10rem;
  max-width: 18rem;
}

/* #14856: 月次集計詳細の請求対象外表示・除外編集 UI の機能固有 CSS（.mc_row_excluded /
   .mc_billing_badge_excluded / .mc_exclude_summary / .mc_exclude_field / .mc_exclude_reason /
   .mc_exclude_actions）は撤去し、既存共通 UI（.row_inactive・DaisyUI .badge・.invoice_header_kv・
   DaisyUI .form-control/.textarea・.btn_container）へ寄せた（業務動作不変。journal #67390 系の
   グレーアウト・状態バッジ・理由入力は共通クラスで維持）。 */
/* 入金CSV取込（#12997 / mock #s17）。既存共通クラスで表現できないステップ帯・アップロード2列レイアウトのみ、
   必要最小の標準CSS化（owner journal #73195 で許可。Tailwind / inline style を増やさない方針の代替）。 */
/* line 405, app/assets/stylesheets/custom_style.scss */
.payment_import_steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}

/* line 413, app/assets/stylesheets/custom_style.scss */
.payment_import_step {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  background: #f3f4f6;
  color: #9ca3af;
}

/* line 423, app/assets/stylesheets/custom_style.scss */
.payment_import_step_no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 9999px;
  font-size: 0.875rem;
  color: #fff;
  background: #d1d5db;
}

/* line 434, app/assets/stylesheets/custom_style.scss */
.payment_import_step.is-active {
  border-color: #1f87f0;
  background: #e8f3fe;
  color: #0f5f8f;
  font-weight: 600;
}

/* line 440, app/assets/stylesheets/custom_style.scss */
.payment_import_step.is-active .payment_import_step_no {
  background: #1f87f0;
}

/* #13428 C5a: 入金充当フォーム（確認/手動照合タブ共通 _cash_application_form）。直前テーブルとの間隔・確定ボタン
   （右下配置）・充当額カードの3箇所の上下間隔を同一の垂直リズム（1rem）で統一する（owner #97253。意味が異なっても
   値は分けない）。margin 構造は維持し flex/gap へは変えない。shared .card_container / .btn_container の共通定義は変更
   しない。充当額カードの余白は本画面固有 semantic class .allocation-amount-card で付け、Tailwind utility は使わない
   （view_standards / Codex #96734 Low-1）。 */
/* line 448, app/assets/stylesheets/custom_style.scss */
.cash-application-form,
.cash-application-form > .btn_container,
.cash-application-form > .allocation-amount-card {
  margin-top: 1rem;
}
