/* TCI 司令塔ハブ — 最小限の共通スタイル (Tailwind で表現しにくい繰り返し部品のみ) */
.nav-btn { padding: 4px 10px; border-radius: 6px; color: #cbd5e1; }
.nav-btn:hover { background: #334155; color: #fff; }
.nav-btn.on { background: #f97316; color: #fff; font-weight: 600; }
.card { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; overflow: hidden; }
.card-head { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid #e2e8f0; background: #f8fafc; }
.card-head h2 { font-weight: 700; font-size: 14px; }
.card-body { padding: 12px 14px; }
.badge { display: inline-block; font-size: 11px; padding: 1px 8px; border-radius: 999px; font-weight: 600; white-space: nowrap; }
.stat { border-radius: 10px; padding: 10px; text-align: center; }
.stat b { display: block; font-size: 22px; line-height: 1.1; }
.stat span { font-size: 11px; letter-spacing: .1em; }
.tbl { width: 100%; font-size: 13px; border-collapse: collapse; }
.tbl th { text-align: left; font-size: 11px; color: #64748b; padding: 6px 8px; border-bottom: 1px solid #e2e8f0; white-space: nowrap; }
.tbl td { padding: 6px 8px; border-bottom: 1px solid #f1f5f9; vertical-align: top; }
.btn-primary { background: #f97316; color: #fff; font-size: 12px; padding: 5px 12px; border-radius: 6px; }
.btn-primary:hover { background: #ea580c; }
.btn-ghost { font-size: 12px; padding: 4px 10px; border-radius: 6px; border: 1px solid #cbd5e1; color: #475569; }
.btn-ghost:hover { background: #f1f5f9; }
.sel { border: 1px solid #cbd5e1; border-radius: 6px; padding: 4px 8px; font-size: 13px; }
.link { color: #ea580c; text-decoration: underline; }
dialog::backdrop { background: rgba(15, 23, 42, .5); }
