/* ============================================================
   overview.css — 「📊 全体俯瞰」タブ専用の見た目。
   複数タブ共有の見た目(ツールバー・ボタン・モーダル共通枠)はbase.cssを使う。
   新しいタブなので最初から新デザイントークン(--nt-*)のみで組んでいる(旧トークンは使わない)。
   ============================================================ */
#overviewView button{
  font-family:var(--font-ui);border:1px solid var(--nt-border);background:var(--nt-surface);
  color:var(--nt-text);border-radius:var(--nt-radius-sm);box-shadow:none;
}
#overviewView button:hover{border-color:var(--nt-text-muted);background:var(--nt-surface-alt);}

.ovGroup{margin-bottom:var(--nt-space-4);}
.ovGroupHead{
  display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--nt-text);
  margin-bottom:var(--nt-space-2);padding-bottom:6px;border-bottom:1px solid var(--nt-border);
}
.ovGroupCount{font-size:10.5px;font-weight:400;color:var(--nt-text-muted);font-family:var(--font-mono);}
.ovCardGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--nt-space-2);}

/* カードの枠線色でチームの健康状態(遅延の有無等)を一目で分かるようにする。
   俯瞰盤面のノード枠色(css/board.cssの.cnode.team.health-*)と同じ配色を踏襲し、
   意味を持つ色として維持する(装飾目的の配色ではないため新トークンに寄せない)。 */
.ovCard{
  border:1.5px solid var(--nt-border);border-radius:var(--nt-radius-md);background:var(--nt-surface);
  padding:var(--nt-space-2);display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:border-color .12s;
}
.ovCard:hover{border-color:var(--nt-accent);}
.ovCard.ovHealth-red{border-color:var(--danger);}
.ovCard.ovHealth-yellow{border-color:#C9A227;}
.ovCard.ovHealth-green{border-color:var(--ok);}
.ovCardHead{display:flex;align-items:center;gap:8px;}
.ovCardHead .dot{width:9px;height:9px;border-radius:50%;flex:none;}
.ovCardName{font-weight:700;font-size:14px;color:var(--nt-text);}
.ovSection{display:flex;flex-direction:column;gap:4px;}
.ovSectionLabel{
  font-size:10px;font-family:var(--font-mono);letter-spacing:.08em;color:var(--nt-text-muted);
  display:flex;align-items:center;gap:6px;
}
.ovEmpty{font-size:11.5px;color:var(--nt-text-muted);}
/* 2026-08、チェックボックスによる表示/非表示の切り替えUIはカードから撤去し、サイドパネル
   (features/board.jsのopenSidePanelForTeam、.childItemを流用)へ移設した。カード側の.ovGoalLine
   は選択済み(表示ON)のゴールだけを並べる読み取り専用の行に戻ったため、<label>ではなく再び
   <div>で組み立てている(クリック操作は無い)。 */
.ovGoalLine{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--nt-text);padding:2px 0;}
/* 2026-08、「省略せず全文を見たい」という指摘を受け、ellipsisクランプを撤廃し折り返し表示に
   変更した。カードの高さは可変になる(.ovCardは元々flex-direction:columnで高さ固定していない
   ため追加対応不要)。flex:1;min-width:0は折り返しさせつつ隣の.ovGoalProgressを押し出さないため。 */
.ovGoalTitle{flex:1 1 auto;min-width:0;white-space:normal;word-break:break-word;line-height:1.4;}
.ovGoalMidCount{flex:none;font-size:10px;color:var(--nt-text-muted);font-family:var(--font-mono);}
/* 中ゴールごとの進捗率。タイトルが折り返しても位置がずれないようflex:noneで固定幅にする。 */
.ovGoalProgress{flex:none;font-size:10.5px;color:var(--nt-text-muted);font-family:var(--font-mono);white-space:nowrap;padding-top:1px;}
.ovStatusInput{
  width:100%;min-height:54px;border:1px solid var(--nt-border);border-radius:var(--nt-radius-sm);
  background:var(--nt-surface);color:var(--nt-text);font-family:var(--font-ui);font-size:12px;
  padding:6px;resize:vertical;
}
.ovStatusReadonly{font-size:12.5px;color:var(--nt-text);line-height:1.6;white-space:pre-wrap;}
.ovAutoBadge{
  font-family:var(--font-ui);font-size:9.5px;color:#fff;background:var(--nt-accent);
  border-radius:3px;padding:0 5px;letter-spacing:0;
}
.ovProgressBar{width:100%;height:6px;border-radius:3px;background:var(--nt-surface-alt);overflow:hidden;}
.ovProgressFill{height:100%;background:var(--nt-accent);border-radius:3px;}
