Format a session duration from start and end times. Returns a human-readable string like "45m", "1h 30m", or "—" if unavailable.
Format a session duration from start and end times. Returns a human-readable string like "45m", "1h 30m", or "—" if unavailable.