:root {
  --bg: #fff;
  --ink: #1b1f23;
  --line: #e1e4e8;
  --pri: #0b6cbc;
  --ok: #0a7b34;
  --muted: #6a737d;
}

/* Reset / 基本 */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans JP",
    "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.6;
}

header {
  padding: 16px 20px;
  background: #f7fbff;
  border-bottom: 1px solid var(--line);
}

h1 {
  margin: 0;
  font-size: 1.25rem;
}

/* 全ページ共通：コンテナ */
.container {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
}

/* フォーム部品 */
fieldset {
  border: 1px solid var(--line);
  border-radius: 10px;
  margin: 16px 0;
  padding: 14px;
}

legend {
  padding: 0 8px;
  font-weight: 700;
}

label {
  display: block;
  margin: 0.4rem 0 0.2rem;
}

input[type="text"],
input[type="date"],
input[type="password"],
select,
textarea {
  width: 100%;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 10px;
}

button,a.button {
  cursor: pointer;
  border: 0;
  border-radius: 10px;
  padding: 0.6rem 1.0rem;
  margin:5px;
  font-weight: 700;
}

button.primary  ,a.primary{
  background: var(--pri);
  color: #fff;
}

button.secondary ,a.secondary {
  background: #f1f5f9;
}

/* テーブル共通 */
table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-top: 8px;
  border: 1px solid var(--line);
}

th,
td {
  padding: 8px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: 0.9rem;
  vertical-align: top;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

th {
  background: #f9fbff;
}

/* 説明・バッジなど */
.note {
  font-size: 0.9rem;
  color: var(--muted);
}

.nav {
  display: flex;
  gap: 10px;
  margin: 10px 0;
}

.nav a {
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  text-decoration: none;
  color: #0366d6;
  background: #fff;
}

.nav a.act {
  background: #eef6ff;
  border-color: #cfe5ff;
}

.badge {
  display: inline-block;
  padding: 0.05rem 0.5rem;
  border-radius: 999px;
  border: 1px solid #cfe5ff;
  background: #eef6ff;
  font-size: 0.78rem;
}

.badge.ok {
  border-color: #bde3c9;
  background: #e9f8ee;
  color: var(--ok);
}

/* --- 入力レイアウト系 -------------------------- */

/* 氏名/カナ行をさらに横に広げる */
.row.row-name .col {
  flex: 1 1 50%;
}

/* 提出元の固定表示用 */
.readonly-box {
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  border: 1px dashed var(--line);
  background: #f9fafb;
}

/* 氏名/カナ：2カラム横並び */
.name-row {
  display: flex;
  gap: 12px;
  flex-wrap: nowrap;
}

.name-row .block {
  flex: 1 1 0;
  min-width: 0;
}

/* 日付・電話・免許証など番号系の分割入力を横並びに */
.seg-row {
  display: flex;
  gap: 4px;
  flex-wrap: nowrap;
  align-items: center;
}

.seg-row input.small,
.seg-row select.mid {
  width: 4.5rem; /* 数字系は固定幅で揃える */
}

/* 小さめ画面では自動で折り返し */
@media (max-width: 768px) {
  .name-row {
    flex-wrap: wrap;
  }
  .seg-row {
    flex-wrap: wrap;
  }
}

/* 郵便番号・金額・回数などの幅調整 */
input[name="postal_code"] {
  width: 8rem; /* 7桁＋余白 */
}

input[name="mediation_amount_thousand"] {
  width: 10rem; /* 金額入力をコンパクトに */
}

input[name="planned_terms"] {
  width: 5rem; /* 3桁程度の回数 */
}

/* 単位付き入力（回・千円など） */
.unit-input {
  display: flex;
  align-items: center;
  gap: 6px;
}

.unit-input span.unit {
  white-space: nowrap;
  font-size: 0.9em;
  color: #555;
}

/* 入力補足・注意書き */
.helper {
  font-size: 0.85em;
  color: #666;
  margin-top: 4px;
  margin-left: 2px;
}

.helper::before {
  content: "※ ";
  color: #999;
  font-size: 0.9em;
}

/* --- 必須項目・確認画面 ------------------------ */

/* 必須項目の背景色を強調（入力画面のみ） */
form input[required],
form select[required],
form textarea[required] {
  background: #fff3cd;  /* わかりやすい淡い黄色 */
  border-color: #ffb800;
}

/* 確認画面用の表示 */
.confirm-text {
  display: inline-block;
  padding: 0.35rem 0.55rem;
  border-radius: 6px;
  border: 1px solid #cfe5ff;
  background: #f5f9ff;
  min-width: 6em;
  box-sizing: border-box;
}

.confirm-text.small {
  min-width: 0;
}

/* 未入力・未選択は薄くして目立たないように */
.confirm-empty {
  color: #b0b0b0;
  font-style: italic;
}

/* 未入力項目のテキスト用（過去互換） */
.confirm-text.empty {
  color: #b0b0b0;
  background: #fafafa;
  border-color: #e0e0e0;
  font-style: italic;
}

/* --- 添付ファイルの表示 ------------------------ */

.file-list {
  font-size: 0.9rem;
  color: #333;
}

.file-list .file-item {
  margin-bottom: 0.25rem;
}

.file-list .file-name,
.file-label {
  font-weight: 600;
}

/* 添付ファイル名のリンク：長い名前は省略表示＆折り返さない */
.file-link {
  display: inline-block;
  max-width: 260px; /* 必要に応じて調整 */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
  text-decoration: underline;
}

/* 省略表示専用クラス（過去互換） */
.file-name-ellipsis,
.confirm-file {
  display: inline-block;
  max-width: 260px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
}

/* スマホなど狭い場合は少し短く */
@media (max-width: 480px) {
  .file-link,
  .file-name-ellipsis,
  .confirm-file {
    max-width: 180px;
  }
}

/* --- 一覧テーブル（管理画面共通） -------------- */

.list-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.list-table th,
.list-table td {
  padding: 6px 8px;
  border-bottom: 1px solid #dde3ec;
  vertical-align: middle;
  text-align:center;
}

.list-table thead th {
  background: #f5f7fb;
  font-weight: 600;
  color: #334;
  white-space: nowrap;
}

.list-table tbody tr:nth-child(even) {
  background: #fafbff;
}

.list-table tbody tr:hover {
  background: #eaf3ff;
}

.text-right {
  text-align: right;
}

/* --- Batch export confirm table (batch_export.php) --- */

.confirm-wrap {
  margin-top: 10px;
}

.confirm-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.confirm-table th,
.confirm-table td {
  padding: 8px 10px;
  vertical-align: middle;
  text-align:center;
  border-bottom: 1px solid #e3e6ef;
  border-right: 1px dotted #cfd5e5;
}

.confirm-table thead th {
  background: #f5f7fb;
  white-space: nowrap;
  font-weight: 600;
  text-align: center;
  color: #334;
}

.confirm-table tbody tr:nth-child(even) {
  background: #fafbff;
}

.confirm-table tbody tr:hover {
  background: #eaf3ff;
}

.confirm-table .addr-cell {
  max-width: 280px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.confirm-table .addr-cell span {
  cursor: help;
  border-bottom: 1px dotted #999;
}

.confirm-table .mono {
  font-family: Menlo, Consolas, "Courier New", monospace;
}

.confirm-table .small {
  font-size: 0.72rem;
  color: #666;
}

/* --- Dashboard queue checkbox UI (dashboard.php) --- */

input[type="checkbox"][name="sel[]"] {
  width: 22px;
  height: 22px;
  margin: 4px;
  accent-color: #0b7bbf;
}

.queue-clickable td:first-child {
  cursor: pointer;
}

.queue-clickable tr {
  user-select: none;
}

/* --- Intake list search form & file pills (intake_list.php) --- */

.search-form {
  margin-bottom: 16px;
  font-size: 0.85rem;
}

.search-form .row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-end;
}

.search-form .col {
  min-width: 180px;
}

.search-form .col.key {
  flex: 2 1 260px;
}

.search-form .col.date {
  flex: 1 1 150px;
}

.search-form .col.submit {
  flex: 0 0 auto;
}

.file-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 999px;
  border: 1px solid #cfe5ff;
  background: #eef6ff;
  font-size: 0.72rem;
}

.file-pill-icon {
  margin-right: 2px;
  font-size: 0.9em;
}

.file-pill-label {
  white-space: nowrap;
  font-weight: 600;
}

.file-none {
  font-size: 0.72rem;
  color: #888;
}

/* --- Utility classes (common) ------------------------------ */

.hidden-iframe {
  display: none;
  width: 0;
  height: 0;
  border: 0;
}

.mt-3 {
  margin-top: 12px;
}

.text-error {
  color: #c00;
}

.note-success {
  color: #0a0;
  margin-top: 4px;
}

.note-error {
  color: #c00;
  margin-top: 4px;
}

.actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.secB.secB--mt {
  margin-top: 20px;
}

.th-narrow {
  width: 50px;
}

.actions.actions--mt {
  margin-top: 8px;
}
.text-muted {
  color: #999;
  font-size: 0.9em;
}

/* バッチ概要用の軽い調整（任意） */
.list-table--summary th {
  width: 180px;
}

/* 詳細モーダル */
.detail-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
}

.detail-modal.is-open {
  display: block;
}

.detail-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
}

.detail-modal__content {
  position: absolute;
  max-width: 900px;
  width: 90%;
  max-height: 80vh;
  overflow: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  padding: 24px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  border-radius: 8px;
}

.detail-modal__content h2 {
  margin-top: 0;
}

.detail-modal__actions {
  margin-top: 16px;
  text-align: right;
}
.text-muted {
  color: #999;
  font-size: 0.9em;
}

/* バッチ概要テーブル用（少しスッキリ） */
.list-table--summary th {
  width: 180px;
}

/* アコーディオン */
.accordion__header {
  margin: 0;
}
.accordion__toggle {
  display: inline-block;
  padding: 6px 12px;
  font-size: 0.95rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #f5f5f5;
  cursor: pointer;
}
.accordion__toggle:hover {
  background: #e9e9e9;
}
.accordion__body {
  margin-top: 8px;
}

/* 詳細モーダル */
.detail-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
}
.detail-modal.is-open {
  display: block;
}
.detail-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
}
.detail-modal__content {
  position: absolute;
  max-width: 900px;
  width: 90%;
  max-height: 80vh;
  overflow: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  padding: 24px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  border-radius: 8px;
}
.detail-modal__content h2 {
  margin-top: 0;
}
.detail-modal__close {
  position: absolute;
  top: 8px;
  right: 12px;
  border: none;
  background: transparent;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}
.detail-modal__actions {
  margin-top: 16px;
  text-align: right;
}

/* =========================================================
   submitter/view.php 風 UI（管理画面の依頼詳細だけに適用）
   - 既存管理画面へ影響を出さないため、body.intake-view-body と .intake-view 配下に限定
   - 依頼詳細は表示専用DIV（フォームパーツなし）
   ========================================================= */

body.intake-view-body{
  /* submitter の背景と同じ */
  background: #f5f7fb;
}

.intake-view{
  /* submitter.css の :root 変数をこのコンテナ内へ移植 */
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --border:#dde3ee;
  --primary:#005bac;
  --primary2:#0077cc;
  --danger:#b91c1c;
  --radius:16px;
  --shadow:0 8px 26px rgba(0,0,0,.06);

  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.55;

  max-width:1040px;
  margin:0 auto;
  padding:0 16px;
}

/* submitter/view の上部バー */
.intake-view .s-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin: 12px 0 6px;
}
.intake-view .s-toolbar__spacer{flex:1 1 auto;}

/* バッジ / ピル（submitter.css 準拠） */
.intake-view .s-badge{
  display:inline-block;
  font-size:11px;
  font-weight:800;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#f3f4f6;
  color:#374151;
}
.intake-view .s-badge--danger{
  background:#ffcc7a !important;
}

.intake-view .s-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  border:1px solid var(--border);
  background:#fff;
}
.intake-view .s-pill--warn{
  border-color:rgba(185,28,28,.25);
  background:rgba(185,28,28,.06);
  color:var(--danger);
}

/* Cards / Grid / KV（submitter.css 準拠） */
.intake-view .s-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:16px;
  margin:12px 0;
}
.intake-view .s-card__title{
  margin:0 0 10px;
  font-size:16px;
  font-weight:800;
}
.intake-view .s-note{color:var(--muted);font-size:13px;margin:8px 0}
.intake-view .s-muted{color:var(--muted);font-size:13px;}

.intake-view .s-grid{display:grid;gap:12px;}
.intake-view .s-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
@media (max-width:720px){.intake-view .s-grid--2{grid-template-columns:1fr;}}

.intake-view .s-kv{
  background:#fafcff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px;
}
.intake-view .s-kv__k{font-size:12px;color:var(--muted);margin-bottom:6px;}
.intake-view .s-kv__v{
  font-weight:800;
  font-size:14px;
  word-break:break-all;
  min-height: 22px; /* 未入力でも高さを保つ */
}

/* 未入力表示（薄く小さく） */
.intake-view .s-empty{
  display:inline-block;
  color: rgba(31,41,55,.45);
  font-size: 12px;
  font-weight:700;
}

/* 複数行（住所・備考など）は submitter.css の confirm-textarea を流用 */
.intake-view .confirm-textarea{
  display:block;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  line-height:1.6;
  font-weight:800;
}
.intake-view .confirm-textarea.is-empty{
  border-style:dashed;
  background:rgba(0,0,0,.02);
  color: rgba(31,41,55,.45);
  font-size: 12px;
  font-weight:700;
}
.intake-view .s-pre{margin:0;white-space:pre-wrap;font-family:inherit;font-size:inherit;line-height:1.6;}

/* Tables（submitter.css 準拠） */
.intake-view .s-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.intake-view .s-table th,
.intake-view .s-table td{
  padding:10px 10px;
  border-bottom:1px solid var(--border);
  vertical-align:top;
}
.intake-view .s-table th{
  font-size:12px;
  color:var(--muted);
  text-align:left;
  font-weight:900;
}
.intake-view .s-table td{font-size:14px}
.intake-view .s-link{
  color:var(--primary);
  font-weight:800;
  text-decoration:none;
}
.intake-view .s-link:hover{text-decoration:underline;}


.intake-view .s-tablewrap{overflow:auto;}

/* ===== intake_view (admin) submitter風・ページ限定 ===== */
body.intake-view-body { background: var(--bg, #f5f7fb); }

.intake-view { max-width: 1060px; }

.intake-view .iv-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin: 10px 0 14px;
}
.intake-view .iv-title{ margin:0; font-size:1.25rem; }

.intake-view .iv-pill{
  display:inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.15);
  background:#fff;
  font-weight:700;
  font-size: 0.85rem;
}
.intake-view .iv-pill.is-urgent{
  border-color: rgba(255,0,0,.25);
  background: rgba(255,0,0,.08);
}

.intake-view .iv-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  padding:14px;
  margin:14px 0;
}
.intake-view .iv-card-title{
  margin:0 0 10px;
  font-size:1.0rem;
}

/* KV: ラベルと内容を横並び */
.intake-view .kv{ display:grid; gap:10px; }

.intake-view .kv-row{
  display:flex;
  gap:12px;
  align-items:stretch;
  border:1px solid rgba(0,0,0,.10);
  border-radius:10px;
  background:#fff; /* 任意は白 */
  min-height: 40px;
  overflow:hidden;
}

.intake-view .kv-row.is-required{
  background: #f7fbff; /* 必須だけ背景 */
  border-color: rgba(11,108,188,.20);
}

.intake-view .kv-label{
  flex: 0 0 220px;
  padding: 10px 12px;
  font-weight:700;
  border-right:1px solid rgba(0,0,0,.08);
  background: transparent; /* 行の背景に合わせる */
}

.intake-view .kv-value{
  flex: 1 1 auto;
  padding: 10px 12px;
  min-width:0;
  white-space: nowrap;
  overflow:hidden;
  text-overflow: ellipsis;
}

.intake-view .kv-row.is-empty .kv-value{
  color: rgba(0,0,0,.45);
  font-size: 0.86em;
}

.intake-view .kv-pre{
  margin:0;
  white-space: pre-wrap;
  word-break: break-word;
  font: inherit;
}

/* 文章系は折り返し */
.intake-view .kv-row .kv-value pre,
.intake-view .kv-row .kv-value { white-space: normal; }

/* 添付 */
.intake-view .iv-files{ display:grid; gap:8px; }
.intake-view .iv-files-sub{ color: rgba(0,0,0,.55); font-size:.9em; margin-top:4px; }
.intake-view .iv-file{
  display:flex; gap:12px; align-items:center;
  border:1px solid rgba(0,0,0,.10);
  border-radius:10px;
  padding:10px 12px;
  background:#fff;
}
.intake-view .iv-file-label{ flex:0 0 220px; font-weight:700; }
.intake-view .iv-file-val{ flex:1 1 auto; min-width:0; }
.intake-view .iv-file-name{ color: rgba(0,0,0,.55); margin-left:8px; }

@media (max-width: 768px){
  .intake-view .kv-label{ flex-basis: 140px; }
  .intake-view .iv-file-label{ flex-basis: 140px; }
}
body.intake-view-body .intake-view .intake-view{
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --border:#dde3ee;
  --primary:#005bac;
  --primary2:#0077cc;
  --danger:#b91c1c;
  --radius:16px;
  --shadow:0 8px 26px rgba(0,0,0,.06);
}
body.intake-view-body .intake-view *{box-sizing:border-box}
body.intake-view-body .intake-view , body.intake-view-body .intake-view body.intake-view-body{margin:0;padding:0}
body.intake-view-body .intake-view body.intake-view-body{
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.55;
}
body.intake-view-body .intake-view .s-container{max-width:1040px;margin:0 auto;padding:0 16px}
body.intake-view-body .intake-view .s-main{padding:16px 0 40px}
body.intake-view-body .intake-view /* Header */ .s-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:20}
body.intake-view-body .intake-view .s-header__inner{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0}
body.intake-view-body .intake-view .s-header__title{font-size:18px;font-weight:800;color:var(--primary);letter-spacing:.02em}
body.intake-view-body .intake-view .s-header__sub{font-size:12px;color:var(--muted);margin-top:2px}
body.intake-view-body .intake-view .s-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
body.intake-view-body .intake-view .s-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:999px;
  border:1px solid var(--border);
  background:#fff;color:var(--text);
  text-decoration:none;font-weight:700;
  transition:transform .06s ease, box-shadow .12s ease, border-color .12s ease;
  box-shadow:0 1px 0 rgba(0,0,0,.03);
}
body.intake-view-body .intake-view .s-btn:hover{border-color:#cbd5e1;box-shadow:0 6px 18px rgba(0,0,0,.06);transform:translateY(-1px)}
body.intake-view-body .intake-view .s-btn.is-active{border-color:rgba(0,91,172,.35);background:rgba(0,91,172,.06);color:var(--primary)}
body.intake-view-body .intake-view .s-btn--ghost{background:transparent}
body.intake-view-body .intake-view /* Cards */ .s-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:16px;
  margin:12px 0;
}
body.intake-view-body .intake-view .s-card--narrow{max-width:520px;margin:18px auto;}
body.intake-view-body .intake-view .s-card__title{margin:0 0 10px;font-size:16px;font-weight:800}
body.intake-view-body .intake-view .s-card__title--lg{font-size:18px;}
body.intake-view-body .intake-view .s-field--mt{margin-top:10px;}
body.intake-view-body .intake-view .s-grid{display:grid;gap:12px;}
body.intake-view-body .intake-view .s-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
@media (max-width:720px){.s-grid--2{grid-template-columns:1fr;}
body.intake-view-body .intake-view } .s-kv{background:#fafcff;border:1px solid var(--border);border-radius:14px;padding:12px;}
body.intake-view-body .intake-view .s-kv__k{font-size:12px;color:var(--muted);margin-bottom:6px;}
body.intake-view-body .intake-view .s-kv__v{font-weight:800;font-size:14px;word-break:break-all;}
body.intake-view-body .intake-view .s-pill{display:inline-block;padding:4px 10px;border-radius:999px;background:#eef6ff;border:1px solid #d7e8ff;color:var(--primary);font-size:12px;font-weight:700}
body.intake-view-body .intake-view .s-hr{border:none;border-top:1px solid var(--border);margin:14px 0}
body.intake-view-body .intake-view .s-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
@media (max-width:720px){.s-split{grid-template-columns:1fr;}
body.intake-view-body .intake-view } .s-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
body.intake-view-body .intake-view .s-form__grid--file{grid-template-columns:220px 1fr;}
@media (max-width:720px){.s-form__grid{grid-template-columns:1fr;}
body.intake-view-body .intake-view .s-form__grid--file{grid-template-columns:1fr;}
body.intake-view-body .intake-view } .s-note{color:var(--muted);font-size:13px;margin:8px 0}
body.intake-view-body .intake-view .s-alert{padding:12px 14px;border-radius:12px;border:1px solid rgba(185,28,28,.25);background:rgba(185,28,28,.06);color:var(--danger);font-weight:700;margin:12px 0}
body.intake-view-body .intake-view .s-success{padding:12px 14px;border-radius:12px;border:1px solid rgba(16,185,129,.25);background:rgba(16,185,129,.08);color:#065f46;font-weight:700;margin:12px 0}
body.intake-view-body .intake-view /* Forms */ .s-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.intake-view-body .intake-view .s-field{display:flex;flex-direction:column;gap:6px}
body.intake-view-body .intake-view .s-field label{font-weight:800;font-size:13px}
body.intake-view-body .intake-view .s-input, body.intake-view-body .intake-view .s-select, body.intake-view-body .intake-view .s-textarea{
  width:100%;
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 12px;
  font-size:15px;
  background:#fff;
}
body.intake-view-body .intake-view .s-textarea{min-height:92px;resize:vertical}
body.intake-view-body .intake-view .s-input:focus, body.intake-view-body .intake-view .s-select:focus, body.intake-view-body .intake-view .s-textarea:focus{outline:3px solid rgba(0,119,204,.14);border-color:rgba(0,119,204,.45)}
body.intake-view-body .intake-view .s-input[disabled], body.intake-view-body .intake-view .s-select[disabled], body.intake-view-body .intake-view .s-textarea[disabled]{background:#f3f4f6;color:#6b7280}
body.intake-view-body .intake-view .s-badge{display:inline-block;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#f3f4f6;color:#374151;margin-left:6px}
body.intake-view-body .intake-view .s-badge--lock{background:rgba(0,91,172,.08);border-color:rgba(0,91,172,.25);color:var(--primary)}
body.intake-view-body .intake-view .s-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
body.intake-view-body .intake-view .s-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
@media (max-width:720px){.s-form__grid{grid-template-columns:1fr;}
body.intake-view-body .intake-view } .s-form__grid--file{grid-template-columns:220px 1fr;align-items:end;}
@media (max-width:720px){.s-form__grid--file{grid-template-columns:1fr;}
body.intake-view-body .intake-view } .s-hr{border:0;border-top:1px solid var(--border);margin:16px 0;}
body.intake-view-body .intake-view .s-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--border);background:#fff;}
body.intake-view-body .intake-view .s-pill--warn{border-color:rgba(185,28,28,.25);background:rgba(185,28,28,.06);color:var(--danger);}
body.intake-view-body .intake-view .s-split{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
body.intake-view-body .intake-view .s-split__l{min-width:0;}
body.intake-view-body .intake-view .s-primary{background:var(--primary);border-color:var(--primary);color:#fff}
body.intake-view-body .intake-view .s-primary:hover{border-color:var(--primary2)}
body.intake-view-body .intake-view .s-danger{background:var(--danger);border-color:var(--danger);color:#fff}
body.intake-view-body .intake-view /* Search bar */ .s-search{
  display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;
}
body.intake-view-body .intake-view .s-search .s-field{min-width:180px}
body.intake-view-body .intake-view .s-search .s-field--sm{min-width:140px}
body.intake-view-body .intake-view .s-search .s-field--btn{min-width:120px}
body.intake-view-body .intake-view /* Tables */ .s-table{width:100%;border-collapse:separate;border-spacing:0}
body.intake-view-body .intake-view .s-table th, body.intake-view-body .intake-view .s-table td{padding:10px 10px;border-bottom:1px solid var(--border);vertical-align:top}
body.intake-view-body .intake-view .s-table th{font-size:12px;color:var(--muted);text-align:left;font-weight:900}
body.intake-view-body .intake-view .s-table td{font-size:14px}
body.intake-view-body .intake-view .s-table a{color:var(--primary);font-weight:800;text-decoration:none}
body.intake-view-body .intake-view .s-table a:hover{text-decoration:underline}
body.intake-view-body .intake-view /* Key-value list */ .s-kv{display:grid;grid-template-columns:180px 1fr;gap:8px 12px}
body.intake-view-body .intake-view .s-kv__k{color:var(--muted);font-weight:900;font-size:12px}
body.intake-view-body .intake-view .s-kv__v{font-weight:800}
body.intake-view-body .intake-view .s-kv__v .s-muted{font-weight:700;color:var(--muted)}
body.intake-view-body .intake-view /* Footer */ .s-footer{border-top:1px solid var(--border);background:#fff}
body.intake-view-body .intake-view .s-footer__inner{padding:14px 0;color:var(--muted);font-size:12px;text-align:center}
@media (max-width: 860px){
  .s-form-row{grid-template-columns:1fr}
body.intake-view-body .intake-view .s-kv{grid-template-columns:1fr}
body.intake-view-body .intake-view .s-header__inner{align-items:flex-start}
body.intake-view-body .intake-view } /* 既存CSSそのまま（末尾に追記のみ） */ /* ...（中略：既存の submitter.css 全文は変更していません）... */ .s-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--border);background:#fff;}
body.intake-view-body .intake-view .s-pill--warn{border-color:rgba(185,28,28,.25);background:rgba(185,28,28,.06);color:var(--danger);}
body.intake-view-body .intake-view .s-split{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
body.intake-view-body .intake-view .s-split__l{min-width:0;}
body.intake-view-body .intake-view .s-primary{background:var(--primary);border-color:var(--primary);color:#fff}
body.intake-view-body .intake-view .s-primary:hover{border-color:var(--primary2)}
body.intake-view-body .intake-view .s-danger{background:var(--danger);border-color:var(--danger);color:#fff}
body.intake-view-body .intake-view /* Search bar */ .s-search{
  display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;
}
body.intake-view-body .intake-view .s-search .s-field{min-width:180px}
body.intake-view-body .intake-view .s-search .s-field--sm{min-width:140px}
body.intake-view-body .intake-view .s-search .s-field--btn{min-width:120px}
body.intake-view-body .intake-view /* Tables */ .s-table{width:100%;border-collapse:separate;border-spacing:0}
body.intake-view-body .intake-view .s-table th, body.intake-view-body .intake-view .s-table td{padding:10px 10px;border-bottom:1px solid var(--border);vertical-align:top}
body.intake-view-body .intake-view .s-table th{font-size:12px;color:var(--muted);text-align:left;font-weight:900}
body.intake-view-body .intake-view .s-table td{font-size:14px}
body.intake-view-body .intake-view .s-table a{color:var(--primary);font-weight:800;text-decoration:none}
body.intake-view-body .intake-view .s-table a:hover{text-decoration:underline}
body.intake-view-body .intake-view /* Key-value list */ .s-kv{display:grid;grid-template-columns:180px 1fr;gap:8px 12px}
body.intake-view-body .intake-view .s-kv__k{color:var(--muted);font-weight:900;font-size:12px}
body.intake-view-body .intake-view .s-kv__v{font-weight:800}
body.intake-view-body .intake-view .s-kv__v .s-muted{font-weight:700;color:var(--muted)}
body.intake-view-body .intake-view /* Footer */ .s-footer{border-top:1px solid var(--border);background:#fff}
body.intake-view-body .intake-view .s-footer__inner{padding:14px 0;color:var(--muted);font-size:12px;text-align:center}
body.intake-view-body .intake-view /* Intake confirm helpers */ .confirm-textarea{
  display:block;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  line-height:1.6;
  font-weight:800;
}
body.intake-view-body .intake-view label.checkbox{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-weight:800;
}
body.intake-view-body .intake-view label.checkbox input[type="checkbox"]{
  margin-top:2px;
}
@media (max-width: 860px){
  .s-form-row{grid-template-columns:1fr}
body.intake-view-body .intake-view .s-kv{grid-template-columns:1fr}
body.intake-view-body .intake-view .s-header__inner{align-items:flex-start}
body.intake-view-body .intake-view } /* 既存CSS ...（そのまま） */ /* --- ここから追記（縦並びユーティリティ） -------------------- */ /* 氏名（漢字/カナ）を「上下」に揃えるためのブロック */ .stack{
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
body.intake-view-body .intake-view /* 確認画面のreadonly spanが縦に並ぶ時の見た目 */ .stack .confirm-text{
  display:block;
}


/* --- 追記ここまで -------------------------------------------- */


/* === admin intake_view: submitter.css をスコープ移植（他ページ無影響） === */
body.intake-view-body { background: var(--bg, #f5f7fb); }

/* 未入力（高さ維持） */
body.intake-view-body .intake-view .s-empty{
  display:inline-block;
  font-size:12px;
  color: rgba(0,0,0,.45);
}
body.intake-view-body .intake-view .s-kv.is-empty .s-kv__v{ min-height: 20px; }
body.intake-view-body .intake-view .s-multiline{ white-space: pre-wrap; word-break: break-word; }

/* ピル（緊急）色 */
body.intake-view-body .intake-view .s-pill--danger{
  border-color: rgba(185,28,28,.25);
  background: rgba(185,28,28,.08);
  color: #991b1b;
}

/* 添付のファイル名 */
body.intake-view-body .intake-view .s-muted-inline{ color: rgba(0,0,0,.55); font-size:12px; margin-left:8px; }
.intake-view{
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --border:#dde3ee;
  --primary:#005bac;
  --primary2:#0077cc;
  --danger:#b91c1c;
  --radius:16px;
  --shadow:0 8px 26px rgba(0,0,0,.06);
}.intake-view *{box-sizing:border-box}.intake-view,body.intake-view-body{margin:0;padding:0}body.intake-view-body{
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.55;
}.intake-view .s-container{max-width:1040px;margin:0 auto;padding:0 16px}.intake-view .s-main{padding:16px 0 40px}.intake-view /* Header */
.s-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:20}.intake-view .s-header__inner{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0}.intake-view .s-header__title{font-size:18px;font-weight:800;color:var(--primary);letter-spacing:.02em}.intake-view .s-header__sub{font-size:12px;color:var(--muted);margin-top:2px}.intake-view .s-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.intake-view .s-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:999px;
  border:1px solid var(--border);
  background:#fff;color:var(--text);
  text-decoration:none;font-weight:700;
  transition:transform .06s ease, box-shadow .12s ease, border-color .12s ease;
  box-shadow:0 1px 0 rgba(0,0,0,.03);
}.intake-view .s-btn:hover{border-color:#cbd5e1;box-shadow:0 6px 18px rgba(0,0,0,.06);transform:translateY(-1px)}.intake-view .s-btn.is-active{border-color:rgba(0,91,172,.35);background:rgba(0,91,172,.06);color:var(--primary)}.intake-view .s-btn--ghost{background:transparent}.intake-view /* Cards */
.s-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:16px;
  margin:12px 0;
}.intake-view .s-card--narrow{max-width:520px;margin:18px auto;}.intake-view .s-card__title{margin:0 0 10px;font-size:16px;font-weight:800}.intake-view .s-card__title--lg{font-size:18px;}.intake-view .s-field--mt{margin-top:10px;}.intake-view .s-grid{display:grid;gap:12px;}.intake-view .s-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}@media (max-width:720px){.s-grid--2{grid-template-columns:1fr;}}.intake-view .s-kv{background:#fafcff;border:1px solid var(--border);border-radius:14px;padding:12px;}.intake-view .s-kv__k{font-size:12px;color:var(--muted);margin-bottom:6px;}.intake-view .s-kv__v{font-weight:800;font-size:14px;word-break:break-all;}.intake-view .s-pill{display:inline-block;padding:4px 10px;border-radius:999px;background:#eef6ff;border:1px solid #d7e8ff;color:var(--primary);font-size:12px;font-weight:700}.intake-view .s-hr{border:none;border-top:1px solid var(--border);margin:14px 0}.intake-view .s-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}@media (max-width:720px){.s-split{grid-template-columns:1fr;}}.intake-view .s-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.intake-view .s-form__grid--file{grid-template-columns:220px 1fr;}@media (max-width:720px){.s-form__grid{grid-template-columns:1fr;}.intake-view .s-form__grid--file{grid-template-columns:1fr;}}.intake-view .s-note{color:var(--muted);font-size:13px;margin:8px 0}.intake-view .s-alert{padding:12px 14px;border-radius:12px;border:1px solid rgba(185,28,28,.25);background:rgba(185,28,28,.06);color:var(--danger);font-weight:700;margin:12px 0}.intake-view .s-success{padding:12px 14px;border-radius:12px;border:1px solid rgba(16,185,129,.25);background:rgba(16,185,129,.08);color:#065f46;font-weight:700;margin:12px 0}.intake-view /* Forms */
.s-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.intake-view .s-field{display:flex;flex-direction:column;gap:6px}.intake-view .s-field label{font-weight:800;font-size:13px}.intake-view .s-input,.intake-view .s-select,.intake-view .s-textarea{
  width:100%;
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 12px;
  font-size:15px;
  background:#fff;
}.intake-view .s-textarea{min-height:92px;resize:vertical}.intake-view .s-input:focus,.intake-view .s-select:focus,.intake-view .s-textarea:focus{outline:3px solid rgba(0,119,204,.14);border-color:rgba(0,119,204,.45)}.intake-view .s-input[disabled],.intake-view .s-select[disabled],.intake-view .s-textarea[disabled]{background:#f3f4f6;color:#6b7280}.intake-view .s-badge{display:inline-block;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#f3f4f6;color:#374151;margin-left:6px}.intake-view .s-badge--lock{background:rgba(0,91,172,.08);border-color:rgba(0,91,172,.25);color:var(--primary)}.intake-view .s-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.intake-view .s-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}@media (max-width:720px){.s-form__grid{grid-template-columns:1fr;}}.intake-view .s-form__grid--file{grid-template-columns:220px 1fr;align-items:end;}@media (max-width:720px){.s-form__grid--file{grid-template-columns:1fr;}}.intake-view .s-hr{border:0;border-top:1px solid var(--border);margin:16px 0;}.intake-view .s-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--border);background:#fff;}.intake-view .s-pill--warn{border-color:rgba(185,28,28,.25);background:rgba(185,28,28,.06);color:var(--danger);}.intake-view .s-split{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}.intake-view .s-split__l{min-width:0;}.intake-view .s-primary{background:var(--primary);border-color:var(--primary);color:#fff}.intake-view .s-primary:hover{border-color:var(--primary2)}.intake-view .s-danger{background:var(--danger);border-color:var(--danger);color:#fff}.intake-view /* Search bar */
.s-search{
  display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;
}.intake-view .s-search .s-field{min-width:180px}.intake-view .s-search .s-field--sm{min-width:140px}.intake-view .s-search .s-field--btn{min-width:120px}.intake-view /* Tables */
.s-table{width:100%;border-collapse:separate;border-spacing:0}.intake-view .s-table th,.intake-view .s-table td{padding:10px 10px;border-bottom:1px solid var(--border);vertical-align:top}.intake-view .s-table th{font-size:12px;color:var(--muted);text-align:left;font-weight:900}.intake-view .s-table td{font-size:14px}.intake-view .s-table a{color:var(--primary);font-weight:800;text-decoration:none}.intake-view .s-table a:hover{text-decoration:underline}.intake-view /* Key-value list */
.s-kv{display:grid;grid-template-columns:180px 1fr;gap:8px 12px}.intake-view .s-kv__k{color:var(--muted);font-weight:900;font-size:12px}.intake-view .s-kv__v{font-weight:800}.intake-view .s-kv__v .s-muted{font-weight:700;color:var(--muted)}.intake-view /* Footer */
.s-footer{border-top:1px solid var(--border);background:#fff}.intake-view .s-footer__inner{padding:14px 0;color:var(--muted);font-size:12px;text-align:center}@media (max-width: 860px){
  .s-form-row{grid-template-columns:1fr}.intake-view .s-kv{grid-template-columns:1fr}.intake-view .s-header__inner{align-items:flex-start}
}.intake-view /* 既存CSSそのまま（末尾に追記のみ） */

/* ...（中略：既存の submitter.css 全文は変更していません）... */

.s-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--border);background:#fff;}.intake-view .s-pill--warn{border-color:rgba(185,28,28,.25);background:rgba(185,28,28,.06);color:var(--danger);}.intake-view .s-split{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}.intake-view .s-split__l{min-width:0;}.intake-view .s-primary{background:var(--primary);border-color:var(--primary);color:#fff}.intake-view .s-primary:hover{border-color:var(--primary2)}.intake-view .s-danger{background:var(--danger);border-color:var(--danger);color:#fff}.intake-view /* Search bar */
.s-search{
  display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;
}.intake-view .s-search .s-field{min-width:180px}.intake-view .s-search .s-field--sm{min-width:140px}.intake-view .s-search .s-field--btn{min-width:120px}.intake-view /* Tables */
.s-table{width:100%;border-collapse:separate;border-spacing:0}.intake-view .s-table th,.intake-view .s-table td{padding:10px 10px;border-bottom:1px solid var(--border);vertical-align:top}.intake-view .s-table th{font-size:12px;color:var(--muted);text-align:left;font-weight:900}.intake-view .s-table td{font-size:14px}.intake-view .s-table a{color:var(--primary);font-weight:800;text-decoration:none}.intake-view .s-table a:hover{text-decoration:underline}.intake-view /* Key-value list */
.s-kv{display:grid;grid-template-columns:180px 1fr;gap:8px 12px}.intake-view .s-kv__k{color:var(--muted);font-weight:900;font-size:12px}.intake-view .s-kv__v{font-weight:800}.intake-view .s-kv__v .s-muted{font-weight:700;color:var(--muted)}.intake-view /* Footer */
.s-footer{border-top:1px solid var(--border);background:#fff}.intake-view .s-footer__inner{padding:14px 0;color:var(--muted);font-size:12px;text-align:center}.intake-view /* Intake confirm helpers */
.confirm-textarea{
  display:block;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  line-height:1.6;
  font-weight:800;
}.intake-view label.checkbox{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-weight:800;
}.intake-view label.checkbox input[type="checkbox"]{
  margin-top:2px;
}@media (max-width: 860px){
  .s-form-row{grid-template-columns:1fr}.intake-view .s-kv{grid-template-columns:1fr}.intake-view .s-header__inner{align-items:flex-start}
}.intake-view /* 既存CSS ...（そのまま） */

/* --- ここから追記（縦並びユーティリティ） -------------------- */

/* 氏名（漢字/カナ）を「上下」に揃えるためのブロック */
.stack{
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}.intake-view /* 確認画面のreadonly spanが縦に並ぶ時の見た目 */
.stack .confirm-text{
  display:block;
}

/* --- 追記ここまで -------------------------------------------- */


/* ===== admin intake_view: read-only DIV tweaks (page-only) ===== */
.intake-view .s-ro{ display:flex; align-items:center; min-height:44px; }
.intake-view .s-input.s-ro{ white-space:normal; }
.intake-view .s-ro--multiline{ display:block; padding:10px 12px; min-height:120px; }
.intake-view .s-ro__pre{ margin:0; white-space:pre-wrap; word-break:break-word; font:inherit; }
.intake-view .s-empty{ opacity:.55; font-size:.9em; }

/* =========================================================
   batch_detail オーバーレイ詳細を submitter/view.php 風にする（追記）
   - 既存CSSはそのまま。上書きはモーダル内だけに限定
   - 「必須2列」「任意の電話/免許証など横並び崩れ防止」「区切り（ボーダー）強化」
   ========================================================= */

/* モーダル内の背景を薄くして、カード境界を見やすくする */
.detail-modal__content {
  background: #f5f7fb;            /* submitter の背景に寄せる */
  border: 1px solid #dde3ee;      /* 枠を明確に */
}

/* モーダル内だけ submitter 風のカード */
.detail-modal__content .s-card {
  background: #fff;
  border: 1px solid #dde3ee;
  border-radius: 16px;
  box-shadow: 0 8px 26px rgba(0,0,0,.06);
  padding: 16px;
  margin: 12px 0;
}

.detail-modal__content .s-card__title {
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 800;
}

.detail-modal__content .s-note,
.detail-modal__content .s-muted {
  color: #6b7280;
  font-size: 13px;
}

/* 必須項目：2列（横並び） */
.detail-modal__content .s-grid {
  display: grid;
  gap: 12px;
}
.detail-modal__content .s-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 720px) {
  .detail-modal__content .s-grid--2 {
    grid-template-columns: 1fr;
  }
}

/* KV（submitterの s-kv と同じ感じ） */
.detail-modal__content .s-kv {
  background: #fafcff;
  border: 1px solid #dde3ee;
  border-radius: 14px;
  padding: 12px;
}

.detail-modal__content .s-kv__k {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 6px;
  font-weight: 900;
}

.detail-modal__content .s-kv__v {
  font-weight: 800;
  font-size: 14px;
  word-break: break-word;
  min-height: 22px; /* 未入力でも高さを保つ */
}

/* 未入力表示（薄く小さく） */
.detail-modal__content .s-empty {
  display: inline-block;
  color: rgba(31,41,55,.45);
  font-size: 12px;
  font-weight: 700;
}

/* 任意項目：電話番号や免許証など “分割値” を横並び/整形した表示の見た目 */
.detail-modal__content .s-splitline {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}
.detail-modal__content .s-splitline .sep {
  opacity: .55;
  font-weight: 700;
}

/* 複数行（住所・備考など） */
.detail-modal__content .s-prebox {
  display: block;
  padding: 10px 12px;
  border: 1px solid #dde3ee;
  border-radius: 12px;
  background: #fff;
  font-weight: 800;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
}
.detail-modal__content .s-prebox.is-empty {
  border-style: dashed;
  background: rgba(0,0,0,.02);
  color: rgba(31,41,55,.45);
  font-size: 12px;
  font-weight: 700;
}

/* 添付テーブル（区切りを明確に） */
.detail-modal__content .s-tablewrap {
  overflow: auto;
  border: 1px solid #dde3ee;
  border-radius: 12px;
  background: #fff;
}
.detail-modal__content .s-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.detail-modal__content .s-table th,
.detail-modal__content .s-table td {
  padding: 10px 10px;
  border-bottom: 1px solid #dde3ee;
  vertical-align: top;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.detail-modal__content .s-table th {
  background: #f9fbff;
  font-size: 12px;
  color: #6b7280;
  text-align: left;
  font-weight: 900;
}

/* リンク（ボタンではなく普通のリンクとして表示） */
.detail-modal__content a {
  color: #005bac;
  font-weight: 800;
  text-decoration: none;
}
.detail-modal__content a:hover {
  text-decoration: underline;
}
/* =========================================================
   バッチ履歴：詳細モーダル内
   - 項目名と中身を横並び（s-kvを2カラム化）
   - 任意項目の文字サイズを必須と同じに統一（小さくする）
   ========================================================= */

/* ① s-kvを「ラベル｜値」の横並びにする（モーダル内だけ） */
.detail-modal__content .s-kv{
  display: grid;
  grid-template-columns: 120px 1fr;  /* ラベル幅 */
  gap: 8px 12px;
  align-items: center;

  /* 既存の見た目は維持 */
  background: #fafcff;
  border: 1px solid #dde3ee;
  border-radius: 14px;
  padding: 12px;
}

.detail-modal__content .s-kv__k{
  margin: 0;               /* 縦並び用の余白を無効化 */
  font-size: 12px;
  color: #6b7280;
  font-weight: 900;
}

.detail-modal__content .s-kv__v{
  margin: 0;
  font-weight: 800;
  font-size: 14px;         /* ← これが「必須と同じサイズ」の基準 */
  word-break: break-word;
  min-height: 22px;        /* 未入力でも高さ維持 */
}

/* ② 未入力表示も横並びに馴染ませる */
.detail-modal__content .s-empty{
  display: inline-block;
  color: rgba(31,41,55,.45);
  font-size: 12px;
  font-weight: 700;
}

/* ③ スマホでは縦積みに戻す（読めるように） */
@media (max-width: 720px){
  .detail-modal__content .s-kv{
    grid-template-columns: 1fr;
    align-items: start;
  }
}

/* ④ 任意項目が「大きすぎる」問題：必須と同じ14pxに固定（=小さくなる） */
/*   ※任意カードに .is-optional を付けた場合に確実に効く */
.detail-modal__content .s-card.is-optional .s-kv__v{
  font-size: 14px;
}
/* --- 依頼一覧：更新バッジ ------------------------- */
.badge-updated{
  display:inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  background: #fff0c2;
  border: 1px solid #ffd27a;
  color: #7a4b00;
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1.2;
}
