/* v6.291.0: 配置一覧モバイル閲覧ページ CSS
   承認済みサンプル docs/samples/daily_assignment_mobile_final.html 準拠。
   v6.291.1: FB 反映（サンプル docs/samples/daily_assignment_mobile_fb1_sample.html）
     ① ページヘッダー・コントロールバーのピル/ボタンを 36px/13px/padding 12px に統一（統一規格）
     ② コントロールバー刷新（週間予定表 .ctrl-bar 流儀・blur backdrop・sticky top:0）
     ③ カード間隔 10px → 5px（管制ボード .feed-rows と同値）
     ④ ポスト名を .post-label バッジ（週間予定表 syukan.css L600-618 と同色 #DCEAF8/#185FA5・並列定義 #92）

   統一規格の gs-topbar 上書きは body.da-body スコープに限定し、他ページ（syukan/dashboard 等）に波及させない（#96）。
   .gs-btn-pill は共通 style.css で !important のため、上書きも !important で対抗（syukan.css L2678-2686 の先例と同流儀）。

   サンプル CSS 変数を DESIGN.md 既存トークンにマップ:
     --p → --color-primary / --p-soft → --color-primary-soft / --mut → --color-text-muted /
     --bd → --color-border / --div → --color-surface-2
   新規リテラルカラー（サンプル記載値のみ・v6.288.0 PDF テンプレート L237/L239/L256 と完全同値・
   PDF ↔ ページ間色一致 #92）:
     --da-amber (#f29900) / --da-amber-bg (#fff8e6) / --da-amber-tx (#8a5500) [= PDF .bg-tbd]
     --da-red (#c5221f) [= PDF .unassigned/.count-short]
     --da-green (#1e7e34) / --da-p-dark (#0b5394) / --da-faint (#9aa0a6) / --da-bg (#f6f8fa)
     --da-post-bg (#DCEAF8) / --da-post-tx (#185FA5)  [v6.291.1 = syukan.css post-label-named 並列定義 #92]
*/

/* ==========================================================================
   v6.291.2 ページヘッダー統一（信介さん FB「揃ってない」対応）: 週間予定表 syukan.css
   L2678-2686 と完全同値 40px/11px/padding 0 10px にして他ページ（syukan/dashboard 等）と揃える。
   v6.291.1 の統一規格 36px/13px は撤回（週間予定表への横展開が別タスクとなり、揃わないため）。
   コントロールバー内のピル・ボタンは既存 36px/13px を維持（本ページ内で統一）。
   スコープは body.da-body（他ページ波及禁止・#96）。
   ========================================================================== */
body.da-body .gs-topbar .gs-btn-pill {
  height: 40px !important;
  padding: 0 10px !important;
  font-size: 11px !important;
}
body.da-body .gs-topbar .gs-btn-icon {
  width: 40px !important;
  height: 40px !important;
}

.da-page {
  --da-amber: #f29900;
  --da-amber-bg: #fff8e6;
  --da-amber-tx: #8a5500;
  --da-red: #c5221f;
  --da-green: #1e7e34;
  --da-p-dark: #0b5394;
  --da-faint: #9aa0a6;
  --da-bg: #f6f8fa;
  --da-post-bg: #DCEAF8;
  --da-post-tx: #185FA5;
  background: var(--da-bg);
  min-height: calc(100vh - 56px);
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
  color: var(--color-text);
  padding-bottom: 80px;
}

@media (prefers-color-scheme: dark) {
  .da-page {
    --da-amber: #f29900;
    --da-amber-bg: rgba(242, 153, 0, 0.14);
    --da-amber-tx: #ffcc80;
    --da-red: #f28b82;
    --da-green: #81c995;
    --da-p-dark: #a8c7fa;
    --da-faint: #7f889a;
    --da-bg: #0f172a;
  }
}

/* PC でも中央寄せで見やすく（サンプル準拠 412px 相当・DESIGN.md 中央寄せ流儀） */
.da-page > * {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}

/* ==========================================================================
   v6.291.1 コントロールバー（週間予定表 .ctrl-bar 流儀・sticky top:0）
   syukan.css L42-56 と同値の blur backdrop。ダーク対応 syukan.css L57-60 と同流儀。
   ========================================================================== */
.da-ctrl-bar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.65);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid var(--color-divider, rgba(0,0,0,.08));
}
[data-theme="dark"] .da-ctrl-bar {
  background: rgba(32, 33, 36, 0.65);
  border-bottom-color: rgba(255, 255, 255, .08);
}

.da-pill-wrap {
  height: 36px;
  padding: 0 12px;
  border-radius: 9999px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
  flex: none;
}
/* v6.291.2 FB-2: custom appearance / background-image ▾ を削除。ブラウザ標準 select 矢印に戻す
   （週間予定表 syukan.css の .ctrl-bar .pill-wrap select と同挙動 #92）。 */
.da-dept-sel {
  border: 0;
  background: transparent;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text);
  cursor: pointer;
  padding: 0;
}
.da-dept-sel:disabled {
  cursor: default;
  opacity: .8;
}

.da-btn-pill {
  height: 36px;
  padding: 0 16px;
  border-radius: 9999px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text);
  cursor: pointer;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
  flex: none;
  transition: transform .18s, box-shadow .18s;
}
.da-btn-pill:hover {
  box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
  transform: translateY(-1px);
}
.da-btn-nav {
  width: 48px;
  padding: 0;
}
.da-btn-nav svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  stroke-width: 2.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.da-btn-primary {
  background: var(--color-primary);
  color: #fff;
  border: none;
  padding: 0 12px;
  box-shadow: 0 2px 6px rgba(26, 115, 232, .35);
}
.da-btn-primary:hover {
  box-shadow: 0 3px 10px rgba(26, 115, 232, .45);
}

.da-date-pill {
  padding: 0 12px;
  font-size: 13px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  margin-left: auto;
  color: var(--color-text);
}
.da-date-pill svg {
  width: 14px;
  height: 14px;
  stroke: var(--color-text-muted);
  stroke-width: 2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* v6.291.1: 狭い幅（iPhone SE 375 / 一部 360px 端末）で ctrl-bar が 1 行に収まらない対策。
   ボタン高 36px / font-size 13px は維持（統一規格保持）、隙間・水平 padding のみ圧縮。 */
@media (max-width: 400px) {
  .da-ctrl-bar { gap: 6px; padding: 8px 8px; }
  .da-btn-nav { width: 40px; }
  .da-pill-wrap { padding: 0 8px; }
  .da-date-pill { padding: 0 8px; gap: 4px; }
  .da-btn-primary { padding: 0 10px; }
}

/* ===== 種別タブ（sticky・4 タブ固定・top = ctrl-bar 高 52px） ===== */
.da-c-tabs {
  position: sticky;
  top: 52px;
  z-index: 10;
  display: flex;
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
}
.da-c-tab {
  flex: 1;
  text-align: center;
  font-size: 13px;
  padding: 11px 0;
  color: var(--color-text-muted);
  border: 0;
  background: transparent;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  font-family: inherit;
  font-weight: 400;
}
.da-c-tab.on {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
  font-weight: 700;
}
.da-c-tab-cnt {
  font-size: 12px;
  margin-left: 2px;
  font-variant-numeric: tabular-nums;
}
.da-c-pane { display: none; }
.da-c-pane.on { display: block; }

/* ===== サマリーチップ ===== */
.da-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 12px 12px 10px;
  scrollbar-width: none;
}
.da-chips::-webkit-scrollbar { display: none; }
.da-chip {
  flex: none;
  font-size: 12px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  padding: 5px 12px;
  white-space: nowrap;
  color: var(--color-text);
}
.da-chip b {
  font-size: 13px;
  margin-left: 2px;
  font-variant-numeric: tabular-nums;
}
.da-chip.c-direct {
  background: var(--color-primary-soft);
  border-color: var(--color-primary);
  color: var(--da-p-dark);
}
.da-chip.c-tbd {
  background: var(--da-amber-bg);
  border-color: var(--da-amber);
  color: var(--da-amber-tx);
}
.da-chip.c-ok  { color: var(--da-green); }
.da-chip.c-ng  { color: var(--da-red); }

/* ===== バッジ（PDF v6.288.0 と同じ視覚言語） ===== */
.da-bg {
  display: inline-block;
  font-size: 10px;
  line-height: 1;
  padding: 3px 6px;
  border-radius: 999px;
  margin-left: 4px;
  vertical-align: 1px;
}
.da-bg-d {
  background: var(--color-primary);
  color: #fff;
}
.da-bg-t {
  background: var(--da-amber-bg);
  color: var(--da-amber-tx);
  border: 1px solid var(--da-amber);
  padding: 2px 5px;
}
/* v6.291.2 FB-4: 応援拠点バッジを管制ボード dashboard.css L1443-1462 の .fr-dept-pill と
   完全同値で並列定義（#92・信介さん FB「他拠点バッジは管制ボードの表記を真似て」）。
   4 色 filled（本社=淡青/久留米=淡紫/宗像=淡緑/下関=淡橙）+ ダーク対応。
   従来の .da-pref はテキスト表示のみだった → 管制ボードと同じピル型に統一。 */
.da-dept-pill {
  flex-shrink: 0;
  display: inline-block;
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 4px;
  font-weight: 700;
  vertical-align: 1px;
  background: #F1EFE8;
  color: #444441;
}
.da-dept-pill[data-dept="1"] { background: #E8F0FE; color: #174EA6; } /* 本社   */
.da-dept-pill[data-dept="2"] { background: #EEEDFE; color: #3C3489; } /* 久留米 */
.da-dept-pill[data-dept="3"] { background: #E1F5EE; color: #085041; } /* 宗像   */
.da-dept-pill[data-dept="4"] { background: #FAECE7; color: #712B13; } /* 下関   */
[data-theme="dark"] .da-dept-pill { background: #2a2a2a; color: #b8b3a8; }
[data-theme="dark"] .da-dept-pill[data-dept="1"] { background: #174EA6; color: #A8C7FA; }
[data-theme="dark"] .da-dept-pill[data-dept="2"] { background: #3C3489; color: #CECBF6; }
[data-theme="dark"] .da-dept-pill[data-dept="3"] { background: #085041; color: #9FE1CB; }
[data-theme="dark"] .da-dept-pill[data-dept="4"] { background: #712B13; color: #F5C4B3; }
.da-src {
  font-size: 9px;
  color: var(--color-text-muted);
  border: 1px solid var(--color-border);
  border-radius: 3px;
  padding: 1px 4px;
  margin-left: 6px;
  vertical-align: 1px;
  font-weight: 400;
}
.da-ref-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  color: var(--da-amber-tx);
  background: var(--da-amber-bg);
  border: 1px solid var(--da-amber);
  border-radius: 4px;
  padding: 1px 5px;
  margin-left: 6px;
  vertical-align: 1px;
}
.da-nm {
  white-space: nowrap;
  font-size: 14px;
}
.da-names {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 6px;
}
.da-unassigned {
  font-size: 12px;
  color: var(--da-red);
  font-weight: 700;
}
.da-unassigned::before { content: "■ "; }

/* ==========================================================================
   v6.291.1 現場アコーディオンカード（管制ボード .feed-rows と同じ間隔 5px）
   ========================================================================== */
.da-a-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  margin: 0 12px 5px;
  overflow: hidden;
}
.da-a-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  cursor: pointer;
}
.da-a-head-main {
  flex: 1;
  min-width: 0;
}
.da-a-site {
  font-size: 14px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--color-text);
}
.da-a-cust {
  font-size: 11px;
  color: var(--color-text-muted);
  margin-top: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.da-a-meta {
  flex: none;
  display: flex;
  align-items: center;
  gap: 8px;
}
.da-a-cnt {
  font-size: 12px;
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
}
.da-a-cnt.c-short {
  color: var(--da-red);
  font-weight: 700;
}
.da-a-mini {
  display: flex;
  gap: 4px;
}
/* v6.291.2 FB-3: Unicode ▶ を SVG polyline チェブロンに置換（.da-btn-nav と同型 #92・
   viewBox 24 / stroke currentColor / stroke-width 2.5 / round）。open 時 rotate(90deg) で下向き。 */
.da-a-chev {
  color: var(--da-faint);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .15s;
}
.da-a-chev svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  stroke-width: 2.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.da-a-card.open .da-a-chev { transform: rotate(90deg); }
.da-a-body {
  display: none;
  border-top: 1px solid var(--color-surface-2);
  padding: 2px 14px 12px;
}
.da-a-card.open .da-a-body { display: block; }

/* ==========================================================================
   v6.291.1 展開行のポスト名を .post-label バッジに変更
   （syukan.css L600-618 の post-label-named/default と並列定義 #92）
   構成: [ポスト名バッジ]（縮小可 ellipsis）+ [spacer flex:1] + [時間] + [人数]
   ========================================================================== */
.da-post {
  padding: 10px 0 8px;
  border-bottom: 1px solid var(--color-surface-2);
}
.da-post:last-child { border-bottom: none; }
.da-post-l1 {
  display: flex;
  align-items: center;
  gap: 8px;
}
.da-post-label {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 10px;
  line-height: 1.5;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  background: var(--da-post-bg);
  color: var(--da-post-tx);
}
.da-post-label.default {
  background: var(--color-surface-2, #f1f3f4);
  color: var(--color-text-muted, #5f6368);
}
.da-post-spacer {
  flex: 1;
  min-width: 8px;
}
.da-post-time {
  font-size: 12px;
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.da-post-cnt {
  font-size: 11px;
  color: var(--da-faint);
  font-variant-numeric: tabular-nums;
}
.da-post-cnt.c-short {
  color: var(--da-red);
  font-weight: 700;
}

/* 「外：」プレフィックス（PDF テンプレの .prefix-gaichu と同色 #c46a1f） */
.da-prefix-gaichu {
  color: #c46a1f;
  font-weight: 600;
}
/* 応援・仮スタッフの枠付きタグ */
.da-tag {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 700;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  padding: 0 4px;
  margin-right: 3px;
  color: var(--color-text-muted);
  vertical-align: 1px;
}

/* ===== フッター凡例 / 空状態 / 読み込み中 ===== */
.da-foot-note {
  font-size: 10px;
  color: var(--da-faint);
  padding: 14px 16px 24px;
  line-height: 1.7;
}
.da-empty {
  padding: 40px 20px;
  text-align: center;
  color: var(--color-text-muted);
  font-size: 13px;
}
.da-need-dept {
  padding: 40px 20px;
  text-align: center;
  color: var(--color-text-muted);
  font-size: 13px;
}
