* { box-sizing: border-box; }
:root { color-scheme: light; }
body { margin: 0; font-family: system-ui, sans-serif; display: flex; min-height: 100vh; background: #fff; color: #111; }
.rail { width: 130px; border-right: 1px solid #ccc; padding: 8px; display: flex; flex-direction: column; gap: 4px; }
.rail-brand { font-weight: 700; font-size: 1.4rem; margin-bottom: 8px; }
.rail-item { padding: 6px 8px; text-decoration: none; color: #222; border-radius: 4px; }
.rail-item:hover { background: #eee; }
.rail-item.is-stub { color: #999; }
.rail-logout { margin-top: auto; }
.content { flex: 1; padding: 16px 24px; max-width: 1200px; }
.error { color: #b00020; }
table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid #ddd; padding: 6px 8px; text-align: left; }
.board { display: flex; gap: 12px; align-items: flex-start; }
.col { flex: 1; border: 1px solid #ccc; border-radius: 4px; padding: 8px; min-height: 200px; }
.card { border: 1px solid #ddd; border-radius: 4px; padding: 8px; margin-bottom: 8px; background: #fff; cursor: grab; }
.detail { display: flex; gap: 24px; }
.detail-main { flex: 2; }
.detail-rail { flex: 1; border-left: 1px solid #eee; padding-left: 16px; }
.timeline-item { border-bottom: 1px solid #eee; padding: 6px 0; font-size: 0.95rem; }
.muted { color: #888; font-size: 0.85rem; }
